import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpClientParams;
import org.apache.commons.httpclient.params.HttpMethodParams;
import sun.util.logging.resources.logging;
public class TestLogin {
public static String getHtmlSource(String url,String charset) throws IOException {
//登陆处理
HttpClient httpClient = new HttpClient();
HttpClientParams httparams = new HttpClientParams();
httpClient.setParams(httparams);
httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT,"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; TheWorld)");
httpClient.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, charset);
// httpClient.getHostConfiguration().setHost("ifeng.com", 80);
httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
System.setProperty("apache.commons.httpclient.cookiespec","COMPATIBILITY");
//读取用户名和密码
PostMethod postMethod = new PostMethod("https://reg.163.com/logins.jsp");
NameValuePair username2 = new NameValuePair("username","xxxxx");
NameValuePair password2 = new NameValuePair("password","xxxxx");
NameValuePair savelogin = new NameValuePair("savelogin","1");
NameValuePair product = new NameValuePair("product","t");
NameValuePair type = new NameValuePair("type","1");
NameValuePair url2 = new NameValuePair("url","http://t.163.com/session/first");
NameValuePair[] data = {username2, password2, url2 ,savelogin,product,type};
postMethod.setRequestBody(data);
httpClient.executeMethod(postMethod);
//获取目标url的源代码
// HttpClient client1 = new HttpClient();
//
for(int i=0;i<httpClient.getState().getCookies().length;i++){
System.out.println("--------"+httpClient.getState().getCookies()[i]);
}
GetMethod getMethod = new GetMethod(url);
httpClient.executeMethod(getMethod);
InputStream response = getMethod.getResponseBodyAsStream();
String result = StreamOut(response, charset);
response.close();
System.out.println(result);
return result;
}
public static String StreamOut(InputStream stream, String charset) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(stream,charset));
String tempbf;
StringBuffer html = new StringBuffer(100);
while ((tempbf = br.readLine()) != null) {
html.append(tempbf + "\n");
}
return html.toString();
}
public static void main(String[] args) throws IOException {
getHtmlSource("http://t.163.com/2699910068","utf-8");
}
}
分享到:
相关推荐
《NLPCC2014微博情感分析样例数据详解》 在信息技术领域,自然语言处理(Natural Language Processing,简称NLP)是一项重要的研究方向,它涵盖了诸多子领域,如语义理解、文本分类、情感分析等。NLPCC(全国自然...
《NLPCC2013微博情绪分析样例数据》 在自然语言处理(NLP)领域,情感分析是一项至关重要的任务,它涉及到理解和解析文本中的情感色彩,以判断作者的情绪状态。NLPCC(全国自然语言处理与中文计算会议)2013年举办...
台风山竹微博样例数据,json格式。可以看看,了解下数据格式
在这种情况下,"【开放平台】_新浪微博JAVA代码样例及详细说明" 提供了使用Java编程语言与新浪微博开放平台进行交互的示例代码和指南。新浪微博是中国极具影响力的社交媒体平台,它提供了丰富的API供开发者构建各种...
微博情绪分析样例数据 测试集和标注 该语料主要用于识别出整条微博所表达的情绪,不是简单的褒贬分类,而是涉及到多个细粒度情绪类别(例如悲伤、忧愁、快乐、兴奋等),属于细粒度的情感分类问题。
"WindowsPhone8的新浪微博接口SDK"就是这样一个工具,它允许开发者通过C#语言在WP8应用中整合新浪微博的服务。 SDK(Software Development Kit)是一组工具、库、文档和示例代码,用于帮助开发者更轻松地创建特定...
sina微博客户端样例,模拟sina微博客户端研发
5. **Demo示例**:"DiSanFangLogin"可能是提供了一个包含QQ和新浪微博登录样例代码的压缩包。通常,这样的示例会包含完整的API调用流程,从初始化SDK、设置回调处理、请求用户授权到接收和解析响应的各个步骤。通过...
标题“洛谷U379193大样例”暗示了这是一组与编程竞赛相关的数据集,可能来源于洛谷(LeetCode)这个在线编程训练平台。在洛谷上,用户可以练习各种算法和数据结构题目,其中“U379193”很可能是该题目的唯一标识符。...
样例中的执行程序可能包括以下几个关键点: 1. **组件注册与反注册**:在Windows中,COM组件需要注册到系统注册表中,以便其他应用程序可以找到并使用它们。样例可能包含了注册和反注册组件的示例,演示了如何使用`...
新浪微博API(android版) ============================ 本版本在java版的基础上修改,使其可以在android sdk上使用. 新增加了android的OAuth登陆认证及获取好友微博的实现样例.
"VISIO 样例.rar" 这个标题表明这是一个包含VISIO示例文件的压缩包。VISIO是微软公司开发的一款专业绘图软件,主要用于创建各种图表和流程图,如UML模型、数据流程图、网络拓扑图等。"RAR"是一种常见的压缩文件格式...
xml文件解析经典样例xml文件解析经典样例
【标题】"C#+Web数据库样例"是一个教学资源,主要展示了如何在C#.NET环境中进行Web数据库开发。这个样例由陈雷老师提供,旨在帮助初学者掌握C#编程语言以及与其相关的Web数据库交互技术。 【描述】"陈雷老师上课的...
标题“nc文件样例_NC”表明这是一个关于NetCDF文件的示例集合,可能用于演示或测试NetCDF文件的读取、写入和处理。 描述中的“NetCDF文件样例 测试用例 样本数据”暗示了这个压缩包内包含了一些用于测试和学习的...
《大量Flash做好的样例(含源码和样例)》资源详解 在数字媒体领域,Flash曾经是创建动态交互式内容的首选工具,尤其在网页设计和动画制作中占据了重要地位。本资源集合了大量预先制作好的Flash样例,其中包含了...
标题中的“3d图像样例.rar”表明这是一个包含3D图像的压缩文件,可能是用于展示三维设计、室内装饰或产品预览的示例。这种类型的文件通常由专业的3D建模软件创建,如AutoCAD、3ds Max、Maya或者SketchUp等。3D图像在...
S7-200Smart 恒压供水程序样例+485通讯样例 + 触 摸屏样例子。 1.此程序样例为一拖二恒压供水样例,采用S7-200Smart PLC和smart 700触摸屏人机与abb变频器485通讯执行变频器PID实现恒压供水,同样包含S7-200PLC程序 ...
悦友样例,excel各种表格制作的方法,excel各种表格制作的方法
图片3d浏览样例