//闲的蛋疼,浏览网页时发现某网站不需要验验证码就可以注册用户,所以随便写了点代码
//帮它提高点人气,顺便把源代码给大家分享下
package org.apache.httpCilent;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
/**
* Simulation form submit Post
*
* @author Hewei
*
*/
public class DoPost {
/**
*
* @param url
* actionUrl
* @param data
* you want to post data
* @return
*/
public synchronized String methodPost(String url, List<NameValuePair> data)
throws Exception {
String returnString = "";// 服务器响应
HttpClient client = new DefaultHttpClient(); // 实例化httpClient对象
HttpPost post = new HttpPost(url);// 实例化httpPost对象
post.setEntity(new UrlEncodedFormEntity(data, "UTF-8")); //设置post提价的data
HttpResponse response = client.execute(post);// 执行提交 获得httpResponse对象
// HttpEntity httpEntity = response.getEntity();
// System.out.println("服务器响应文本类型" + httpEntity.getContentType());
//
// InputStream input = httpEntity.getContent(); // 获得输入流
// BufferedReader bf = new BufferedReader(new InputStreamReader(input)); //读入输入流
//
// String temp;
// while (null != (temp = bf.readLine())) {
// returnString = returnString + temp;
// }
// bf.close();
// input.close();
System.out.println("已提交注册用户:"+data.get(0).getValue());
return "suceess";
}
/*封装提交数据*/
public synchronized List<NameValuePair> createPostData(int nowInt, int sumTimes) {
List<NameValuePair> postData = new ArrayList<NameValuePair>();
String temp = "";
if (nowInt < sumTimes) {
for (int j = 0; j < String.valueOf(sumTimes).length()
- String.valueOf(nowInt).length(); j++) {
temp = temp + "0";
}
temp = temp + nowInt;
} else {
temp = String.valueOf(sumTimes);
}
NameValuePair UserName = new BasicNameValuePair("UserName", "xx"+ temp);
NameValuePair NickName = new BasicNameValuePair("NickName", "oo"+ temp);
NameValuePair sex = new BasicNameValuePair("sex", "1");
NameValuePair Password = new BasicNameValuePair("password", "adj" + temp);
NameValuePair PwdConfirm = new BasicNameValuePair("PwdConfirm", "adj"
+ temp);
NameValuePair Question = new BasicNameValuePair("Question", "helloWord");
NameValuePair Answer = new BasicNameValuePair("Answer", "yeal");
NameValuePair Email = new BasicNameValuePair("Email", temp+"@Emainxx.com");
postData.add(UserName);
postData.add(NickName);
postData.add(sex);
postData.add(Password);
postData.add(PwdConfirm);
postData.add(Question);
postData.add(Answer);
postData.add(Email);
return postData;
}
}
package org.apache.httpCilent;
public class PostNewUser implements Runnable {
private DoPost post = new DoPost();
private String url = "http://www.xxxx.com/Reg/User_RegPost.asp";
@Override
public synchronized void run() {
try{
for(int i=1;i<100000;i++){
Thread.sleep(10);
System.out.println(post.methodPost(url, post.createPostData(i, 100000)));
}
}catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){//写到这里想了下,用线程
//提交效果应该好点
for(int i=0;i<5;i++){
Thread t = new Thread(new PostNewUser());
t.start();
}
}
}
分享到:
相关推荐
本篇文章将深入探讨如何使用HttpClient来模拟表单提交。 表单提交通常是用户在网页上填写信息后点击提交按钮,数据通过HTTP请求发送到服务器的过程。HttpClient为我们提供了模拟这一过程的能力,无论是GET还是POST...
在实际项目中,我们经常需要使用HttpClient来发送POST请求,以便与服务器进行数据交换。但是,当我们需要使用HTTPS协议时,事情变得复杂起来。HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书...
使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...
当然了,正如前面说到的,如果我们自己使用java.net.HttpURLConnection来搞定这些问题是很恐怖的事情,因此在开始之前我们先要介绍一下一个开放源码的项目,这个项目就是Apache开源组织中的httpclient,它隶属于...
这篇博客通过实例展示了如何使用HttpClient4模拟登录并进行回贴操作,这对于理解HttpClient4的使用方法及其在网络编程中的应用非常有帮助。如果想要深入学习,可以参考官方文档和相关教程,以更好地掌握HttpClient4...
HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的功能,即通过编程的方式向网站发送登录所需的参数...
例如,开发人员可以使用 HttpClient 进行 RESTful API 的调用,获取 JSON 数据,或者进行自动化测试中的 HTTP 请求模拟。 6. **注意事项** - 使用 HttpClient 时,需注意连接管理和资源释放,避免内存泄漏和连接...
以下是一个简单的使用HttpClient和Jsoup模拟登录广工图书馆网站的步骤: 1. **获取登录页面**:首先,我们需要使用HttpClient发送一个GET请求到登录页面,获取页面的HTML内容。这一步可以获取到登录所需的任何隐藏...
HttpClient模拟客户端传输文件是Java开发中的常见需求,尤其在与服务器进行交互时,例如上传用户数据、图片或者其他文件。在这个过程中,我们通常会使用POST请求将文件作为请求体发送到服务器。 首先,我们需要引入...
HttpClient4是中国开源软件社区Apache下的一个HTTP客户端编程工具包,主要用来进行HTTP协议通信,它为Java开发者提供了在Java环境中发送HTTP请求并处理响应的强大功能。这篇最新的文章“HttpClient4模拟登录腾讯微博...
5. **执行请求**:使用`HttpClient`执行POST请求,并获取响应。 ```java CloseableHttpResponse response = httpClient.execute(httpPost); ``` 6. **处理响应**:检查响应状态码(如200表示成功),读取响应实体...
在IT行业中,网络请求是应用程序与服务器交互的基础。...以上就是使用HttpClient 4.3模拟登录新版12306的基本流程和关键知识点。在实际开发中,需要结合具体的项目需求和12306网站的实时策略进行调整。
通过学习和理解`LoginRR.java`的代码,我们可以了解到如何利用HttpClient来模拟用户登录行为,包括发送登录请求、处理服务器响应等步骤。而`注意.txt`和`lib`目录则提供了代码使用和运行的上下文信息。对于想要学习...
例如,当需要访问需要用户登录或认证的页面时,HttpClient可以方便地管理COOKIE,模拟浏览器的行为。在处理文件上传的问题上,HttpClient也提供了便捷的方法,使得开发者可以轻松地发送POST请求并附带文件数据。 ...
- 在自动化测试中,模拟用户请求以验证服务器端功能。 在实际使用中,HttpClient的灵活性和强大功能使其成为Java开发者的首选HTTP客户端库。然而,配置和使用也需要一定的学习曲线,因此,了解并熟练掌握...
在Java中,我们可以通过以下步骤使用HttpClient来模拟POST表单提交: 1. 引入依赖:确保你的项目中已经引入了Apache HttpClient库。通常,这可以通过Maven或Gradle的依赖管理实现。例如,在Maven中,可以在pom.xml...
在Java编程领域,HTTPClient库是一个非常重要的工具,它允许开发者执行HTTP请求并处理响应,非常适合进行...通过熟练掌握其使用方法,我们可以构建出高效、可靠的网络应用程序,包括模拟用户登录、数据抓取等多种功能。
3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对网站的反爬机制,如设置代理IP,处理验证码,调整请求间隔等。 五、总结 HttpClient作为...
本篇将深入探讨HttpClient工具包的基本概念、核心组件、使用场景以及常见操作。 一、HttpClient概述 HttpClient是一个功能丰富的HTTP客户端实现,支持多种HTTP协议版本,包括HTTP/1.0和HTTP/1.1,同时也对HTTP/2有...