使用httpClient模拟登陆校内网并留言
首先我使用的是一个叫做iehttpHeader的IE浏览器的插件将前传后打开IE浏览器后点击查看--iehttpHeader浏览器下方就会出现交互信息了其安装件我已经放在附件里了如果你有火狐的话最好配合火狐debug一起使用因为有些时候iehttpheader得到的头部信息并不十分的完整..我将我的
一部分头部信息以及代码凉一下,大家见笑了
登陆的头部信息:
[color=brown]POST /PLogin.do HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/QVOD, application/QVOD, */*
Referer: http://www.renren.com/PLogin.do
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
Host: www.renren.com
Content-Length: 171
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ick=c7782bec-a19a-4177-a4d8-ea2517415e6c; _r01_=1; _de=25733BD8775D04BB608BA0DF927B991F5212E40F3D18115C
email=cuiqiang8611@163.com&password=0532cuiqiang0532&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com&formName=&method=&isplogin=true&submit=%E7%99%BB%E5%BD%95[/color]
代码:
HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(ClientPNames.COOKIE_POLICY,
CookiePolicy.BROWSER_COMPATIBILITY);
System.out.println("登录校内网");
HttpPost post = new HttpPost("http://www.renren.com/PLogin.do");
Header head1 = new BasicHeader(
"Accept",
"image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/QVOD, application/QVOD, */*");
Header head2 = new BasicHeader("Referer",
"http://www.renren.com/PLogin.do");
Header head3 = new BasicHeader("Accept-Language", "zh-cn");
Header head4 = new BasicHeader("Content-Type",
"application/x-www-form-urlencoded");
Header head5 = new BasicHeader("UA-CPU", "x86");
Header head6 = new BasicHeader("Accept-Encoding", "gzip, deflate");
Header head7 = new BasicHeader("User-Agent",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)");
Header head8 = new BasicHeader("Host", "www.renren.com");
Header head9 = new BasicHeader("Connection", "Keep-Alive");
Header head10 = new BasicHeader("Cache-Control", "no-cache");
Header head11 = new BasicHeader(
"Cookie",
"ick=c7782bec-a19a-4177-a4d8-ea2517415e6c; _r01_=1; _de=25733BD8775D04BB608BA0DF927B991F5212E40F3D18115C");
post.addHeader(head1);
post.addHeader(head2);
post.addHeader(head3);
post.addHeader(head4);
post.addHeader(head5);
post.addHeader(head6);
post.addHeader(head7);
post.addHeader(head8);
post.addHeader(head9);
post.addHeader(head10);
post.addHeader(head11);
NameValuePair[] namevaluepair = new NameValuePair[] {
new BasicNameValuePair("email", "cuiqiang8611@163.com"),
new BasicNameValuePair("password", "0532cuiqiang0532"),
new BasicNameValuePair("origURL",
"http%3A%2F%2Fwww.renren.com%2Fhome"),
new BasicNameValuePair("domain", "renren.com"),
new BasicNameValuePair("formName", ""),
new BasicNameValuePair("method", ""),
new BasicNameValuePair("isplogin", "true"),
new BasicNameValuePair("submit", "%E7%99%BB%E5%BD%95") };
post.setEntity(new UrlEncodedFormEntity(namevaluepair, "US-ASCII"));
HttpResponse response = client.execute(post);
Header[] headers = response.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
System.out.println("___" + headers[i].getName() + "___"
+ headers[i].getValue());
}
HttpEntity entity = response.getEntity();
System.out.println("执行回复 : " + response.getStatusLine());
if (entity != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
entity.getContent()));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
System.out.println("提交后的Cookies :");
Cookie[] cookies = ((AbstractHttpClient) client).getCookieStore()
.getCookies();
if (cookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.length; i++) {
System.out.println("- " + cookies[i].toString());
}
}
我就直接将用户名和密码都不改了...懒得慌..我也是能让大家都能看明白了..希望大家别到我的破窝里去捣乱..偶尔去溜达圈还是很欢迎的
这是登陆
留言就差不多一样了
我只是把代码量出来头部信息就不晒了
System.out.println("留言");
HttpPost postl = new HttpPost("http://gossip.renren.com/gossip.do");
Header headp1 = new BasicHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
Header headp2 = new BasicHeader("Accept-Language", "zh-cn,zh;q=0.5");
Header headp3 = new BasicHeader("Referer",
"http://gossip.renren.com/?origin=103");
Header headp4 = new BasicHeader("Content-Type",
"application/x-www-form-urlencoded");
Header headp5 = new BasicHeader("UA-CPU", "x86");
Header headp6 = new BasicHeader("Accept-Encoding", "gzip, deflate");
Header headp7 = new BasicHeader("User-Agent",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
Header headp8 = new BasicHeader("Host", "gossip.renren.com");
Header headp9 = new BasicHeader("Connection", "Keep-Alive");
Header headp10 = new BasicHeader("Cache-Control", "no-cache");
Header headp11 = new BasicHeader(
"Cookie",
"_r01_=1; depovince=SD; p=5e630e6448f0e070735a1754c7a647ad6; t=61607b1377e41daefeb7fd16841f6e006; societyguester=61607b1377e41daefeb7fd16841f6e006; id=225417436; xnsid=ed8495d4; XNESSESSIONID=3d1ffd9c5b0f; WebOnLineNotice_225417436=1; _urm_225417436=21; JSESSIONID=abcPFWs5fM-INdTCbFs0s");
// Header headp12=new BasicHeader("X_REQUESTED_WITH", "XMLHttpRequest");
postl.addHeader(headp1);
postl.addHeader(headp2);
postl.addHeader(headp3);
postl.addHeader(headp4);
postl.addHeader(headp5);
postl.addHeader(headp6);
postl.addHeader(headp7);
postl.addHeader(headp8);
postl.addHeader(headp9);
postl.addHeader(headp10);
postl.addHeader(headp11);
// postl.addHeader(headp12);
NameValuePair[] namevaluepairp = new NameValuePair[] {
new BasicNameValuePair("body", "小强无敌......."),
new BasicNameValuePair("id", "225417436"),
new BasicNameValuePair("cc", "225417436"),
new BasicNameValuePair("headUrl", null),
new BasicNameValuePair("largeUrl", null),
new BasicNameValuePair("requestToken", "1638050254"),
new BasicNameValuePair("only_to_me", "0"),
new BasicNameValuePair("color", null),
new BasicNameValuePair("ref",
"http://gossip.renren.com/"),
new BasicNameValuePair("mode",null),
new BasicNameValuePair("requestToken","374492634")
};
postl.setEntity(new UrlEncodedFormEntity(namevaluepairp, "UTF-8"));
response = client.execute(postl);
entity = response.getEntity();
System.out.println("执行回复 : " + response.getStatusLine());
if (entity != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(
entity.getContent()));
String line = null;
while ((line = reader.readLine()) != null) {
// System.out.println(line);
}
reader.close();
}
System.out.println("提交后的Cookies :");
cookies = null;
cookies = ((AbstractHttpClient) client).getCookieStore().getCookies();
if (cookies.length == 0) {
System.out.println("None");
} else {
for (int i = 0; i < cookies.length; i++) {
System.out.println("- " + cookies[i].toString());
}
}
按照基本的操作日志也可以做..百度贴吧的也行..不过javaeye我登陆不上..有牛人能指教一下就最好了..最好是帮我看看我的代码还有什么地方应该改进的...希望大家不吝赐教..谢谢
有空来封邮件也行..哈哈哈..我是小强
分享到:
相关推荐
以下将详细介绍如何使用Java HttpClient进行模拟登录。 首先,我们需要在项目中引入HttpClient的相关依赖。如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.apache.httpcomponents ...
Jsoup+httpclient模拟登陆和抓取页面.pdf
在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...
标题中的“httpclient4.3登陆人人”指的是使用Apache HttpClient 4.3版本实现对人人网的自动登录功能。HttpClient是一个流行的开源Java库,它允许开发者执行HTTP请求并处理响应,广泛应用于网络爬虫、自动化测试和...
在本文中,我们将深入探讨如何使用HttpClient来模拟登录方正系统,以及在此基础上开发类似“课程格子”这样的应用。 一、HttpClient简介 HttpClient是一个支持HTTP协议的客户端编程工具,支持HTTP/1.1及其后续版本...
字符集使用UTF-8编码,数据通讯统一采用 HTTP 协议通讯,使用POST 方法请求并传递参数。 POST请求Content-Type 设置为application/x-www-form-urlencoded 除此之外,我们对请求添加签名的校验,key设置为X-Sign 接口...
- 在Java程序中使用Jsoup和HttpClient来模拟登录一个网站并抓取页面内容。 - 案例中包含了登录、页面访问、内容抽取、页面修改和保存到本地等步骤,展示了完整的操作流程。 9. HTTP请求参数设置: - 设置HTTP...
本主题将深入探讨如何使用HttpClient4库进行百度和58同城的模拟登陆操作。HttpClient4是一个强大的Java库,它提供了丰富的功能来执行HTTP请求,非常适合进行网页交互。 首先,我们来了解HttpClient4的基本用法。...
本篇文章将详细讲解如何使用HttpClient进行模拟登录操作,结合源码分析,帮助开发者深入理解其工作原理。 HttpClient库由Apache基金会开发,提供了全面的HTTP协议支持,包括标准与扩展的HTTP方法、连接管理、重试...
在给定的代码片段中,我们看到了一个名为`LoginDZ`的类,该类用于演示如何使用HTTPClient来模拟登录Discuz!论坛系统。以下将详细解析此过程涉及的关键知识点和技术细节。 #### 二、关键技术点 1. **HTTPClient基本...
在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景。 首先,我们需要理解HttpClient的基本使用。HttpClient的核心类包括HttpClient本身,HttpGet、HttpPost...
本篇文章将深入探讨如何使用HttpClient来模拟表单提交。 表单提交通常是用户在网页上填写信息后点击提交按钮,数据通过HTTP请求发送到服务器的过程。HttpClient为我们提供了模拟这一过程的能力,无论是GET还是POST...
本文将深入探讨如何使用Java中的HttpClient4库来实现对新浪和腾讯微博的模拟登录。HttpClient4是一个强大的HTTP客户端库,它允许开发者执行HTTP请求并处理响应,非常适合进行网页交互。 首先,我们来看`Sina.java`...
httpclient4 微信公众账号模拟登陆,网络上看到的,觉得不错上传出来,供大家一起共同分享学习。
在IT行业中,`HttpClient`是Apache基金会开发的一个Java库,用于执行HTTP请求。它提供了丰富的功能,使得开发者能够轻松地实现网络通信,...正确理解和使用`HttpClient`,可以大大提高你的工作效率并提升项目的质量。
以下是一些使用HttpClient的关键知识点: 1. **HttpClient对象创建**:首先,我们需要创建一个HttpClient实例。这通常是通过`HttpClientBuilder`或`HttpClients`类完成的。例如,我们可以创建一个默认配置的...
工程里的入口类为:mnLogin.java ,由于模拟登陆的网站,使用了自签名的SSL证书,所以新增两个方法,创建HttpClient不校验服务端证书,后台通过调用登陆接口,获得返回的cookie信息,在使用登陆成功获得cookie,调取...
在IT行业中,网络请求是应用程序与服务器交互的基础。...以上就是使用HttpClient 4.3模拟登录新版12306的基本流程和关键知识点。在实际开发中,需要结合具体的项目需求和12306网站的实时策略进行调整。
HttpClient模拟http发送post和get请求
它允许开发者模拟GET和POST等HTTP请求,并可以方便地发送JSON等数据作为请求参数。在本文中,我们将深入探讨如何使用HttpClient进行HTTP请求操作,以及如何处理JSON数据。 首先,我们需要引入HttpClient的相关依赖...