今天在网上发现了一个叫做Httpclient的包,可以模拟浏览器行为。所以我就打算用这个做一个人人刷人气的东西,顺便学习一下这个类库。有两种实现方法,一种是被动的去漫无目的的踩人家,期待别人来踩你。第二种是注册若干小号,然后用这些小号来踩自己。话不多说了,上代码~
import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import Writer.writer;
public class Check {
public static void login(String email,String pwd){
HttpClient httpClient = new HttpClient();
//去掉cookie设置,采用httpclient的默认cookie设置
String url = "http://www.renren.com/PLogin.do";
String toget = "http://www.renren.com/profile.do?id=249689342";
PostMethod postMethod = new PostMethod(url);
NameValuePair[] data = { new NameValuePair("email", email),
new NameValuePair("password", pwd),
new NameValuePair("url", "/home/")
};
postMethod.setRequestBody(data);
try {
int statusCode = httpClient.executeMethod(postMethod);
System.out.println("statusCode--"+statusCode);
if (statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
Header locationHeader = postMethod.getResponseHeader("location");
postMethod.releaseConnection();
if (locationHeader != null){
String cookieUrl = locationHeader.getValue();
System.out.println("cookieUrl--"+cookieUrl);
//String r_url="http://www.renren.com"+cookieUrl;//修改302后的url
System.out.println("r_url--"+cookieUrl);
GetMethod getMethod = new GetMethod(cookieUrl);
//httpClient.getState().addCookies(cookies);
int status=httpClient.executeMethod(getMethod);
if (status==200) {
System.out.println("登陸成功");
}
//System.out.println("status---"+status);
//System.out.println(getMethod.getResponseBodyAsString());
//writer.writeMethod1(new String(getMethod.getResponseBodyAsString()));
getMethod.releaseConnection();
}
}
postMethod.releaseConnection();
} catch (Exception e) {
// System.err.println(e.getMessage());
}
GetMethod getMethod=new GetMethod(toget);
try {
httpClient.executeMethod(getMethod);
System.out.println("訪問成功");
//byte[] responseBody = getMethod.getResponseBody();
//writer.writeMethod1(new String(responseBody));
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args){
}
}
在main函数里面用自己的小号去调用login函数就可以了。
希望能对大家有所帮助
分享到:
相关推荐
一种基于Matlab的无刷直流电机控制系统建模仿真方法
一个基于SnowNLP的新浪微博评论情感分析工具.zip 大学生课程设计 基于python的课程设计 自己大二写的课程设计
基于TMS320F2812的无刷直流电机控制系统设计,论文格式
一个刷点击率的工具Makman一个刷点击率的工具Makman
"基于单片机的无刷直流电机的控制系统——论文" 本文主要研究了基于单片机的无刷直流电机的控制系统,...本文对基于单片机的无刷直流电机控制系统进行了详细的研究和讨论,为读者提供了一种高效的电机控制解决方案。
本源码提供了一个基于Vue和TypeScript的微信运动步数刷步辅助工具的设计。项目包含43个文件,其中包括13个TypeScript文件、6个JSON文件、4个PNG文件、3个HTML文件、3个Vue文件、3个JPG文件、2个Markdown文档、2个CSS...
一个简单实用的局域网聊天软件,分享给大家,从别处分享来的
OpenCD 国外一个基于GPL的P2P软件代码
人人网资源爬取,Http协议是一个无状态的面向连接的协议,Http协议是基于tcp/ip协议层之上的协议,当客户端与服务器建立连接之后,它们之间的TCP连接一直都是保持的,至于保持的时间是多久,是通过服务器端来设置的...
一个基于 OpenCV 的人脸识别系统,源代码清楚,对学习图像识别的同学会很有用
一种基于 Matlab的无刷直流电机控制系统建模仿真方法.doc
精品软件工具--利用python PyQt5图形库开发的一个基于tcp协议仿QQ聊天pc软件工具
基于SOCKET的P2P聊天工具。全面了解SOCKET,局域网通讯。
一个基于c++和DirectX的小游戏,其中左右键控制方向,f键是发射,q键是退出游戏。
可以实现群聊 私聊等基本功能一个简单linux的基于字符的聊天工具
这是一个基于IR2136的无刷直流电机驱动电路的设计文档,供大家参考
这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是spring Struts2 hibernate集合框架,配有sql文件。直接导入后运行这是一个基于hadoop的云盘系统,实现的界面是用javaweb完成的,使用的是...
一个非常好用的基于ChatGPT4的工具
基于java一个简单的即时通讯工具开发