`
hewei5894
  • 浏览: 9661 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用httpclient开源包模拟post注册用户

阅读更多
//闲的蛋疼,浏览网页时发现某网站不需要验验证码就可以注册用户,所以随便写了点代码
//帮它提高点人气,顺便把源代码给大家分享下
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模拟表单提交

    本篇文章将深入探讨如何使用HttpClient来模拟表单提交。 表单提交通常是用户在网页上填写信息后点击提交按钮,数据通过HTTP请求发送到服务器的过程。HttpClient为我们提供了模拟这一过程的能力,无论是GET还是POST...

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在实际项目中,我们经常需要使用HttpClient来发送POST请求,以便与服务器进行数据交换。但是,当我们需要使用HTTPS协议时,事情变得复杂起来。HTTPS协议需要SSL/TLS证书来确保数据的安全,而HttpClient需要忽略证书...

    用HttpClient来模拟浏览器GET_POST

    使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...

    用HttpClient来模拟浏览器GET POST

    当然了,正如前面说到的,如果我们自己使用java.net.HttpURLConnection来搞定这些问题是很恐怖的事情,因此在开始之前我们先要介绍一下一个开放源码的项目,这个项目就是Apache开源组织中的httpclient,它隶属于...

    HttpClient4模拟登录回贴

    这篇博客通过实例展示了如何使用HttpClient4模拟登录并进行回贴操作,这对于理解HttpClient4的使用方法及其在网络编程中的应用非常有帮助。如果想要深入学习,可以参考官方文档和相关教程,以更好地掌握HttpClient4...

    httpclient模拟登陆

    HTTPClient是Apache组织下的一个开源项目,它提供了功能丰富的HTTP客户端开发工具包,可以用来发送HTTP请求并接收响应。利用HTTPClient,我们可以轻松实现模拟登录的功能,即通过编程的方式向网站发送登录所需的参数...

    httpclient4.5.5所有包

    例如,开发人员可以使用 HttpClient 进行 RESTful API 的调用,获取 JSON 数据,或者进行自动化测试中的 HTTP 请求模拟。 6. **注意事项** - 使用 HttpClient 时,需注意连接管理和资源释放,避免内存泄漏和连接...

    HttpClient + Jsoup 模拟登陆,解析HTML,信息筛选(广工图书馆)

    以下是一个简单的使用HttpClient和Jsoup模拟登录广工图书馆网站的步骤: 1. **获取登录页面**:首先,我们需要使用HttpClient发送一个GET请求到登录页面,获取页面的HTML内容。这一步可以获取到登录所需的任何隐藏...

    HttpClient模拟客户端传输文件

    HttpClient模拟客户端传输文件是Java开发中的常见需求,尤其在与服务器进行交互时,例如上传用户数据、图片或者其他文件。在这个过程中,我们通常会使用POST请求将文件作为请求体发送到服务器。 首先,我们需要引入...

    (最新)HttpClient4模拟登录腾讯微博

    HttpClient4是中国开源软件社区Apache下的一个HTTP客户端编程工具包,主要用来进行HTTP协议通信,它为Java开发者提供了在Java环境中发送HTTP请求并处理响应的强大功能。这篇最新的文章“HttpClient4模拟登录腾讯微博...

    使用httpclient4登录blog.com

    5. **执行请求**:使用`HttpClient`执行POST请求,并获取响应。 ```java CloseableHttpResponse response = httpClient.execute(httpPost); ``` 6. **处理响应**:检查响应状态码(如200表示成功),读取响应实体...

    HttpClient4.3模拟登陆新版12306

    在IT行业中,网络请求是应用程序与服务器交互的基础。...以上就是使用HttpClient 4.3模拟登录新版12306的基本流程和关键知识点。在实际开发中,需要结合具体的项目需求和12306网站的实时策略进行调整。

    httpclient4.3登陆人人

    通过学习和理解`LoginRR.java`的代码,我们可以了解到如何利用HttpClient来模拟用户登录行为,包括发送登录请求、处理服务器响应等步骤。而`注意.txt`和`lib`目录则提供了代码使用和运行的上下文信息。对于想要学习...

    HttpClient介绍和使用文档

    例如,当需要访问需要用户登录或认证的页面时,HttpClient可以方便地管理COOKIE,模拟浏览器的行为。在处理文件上传的问题上,HttpClient也提供了便捷的方法,使得开发者可以轻松地发送POST请求并附带文件数据。 ...

    HttpClient网页抓取工具包整合

    - 在自动化测试中,模拟用户请求以验证服务器端功能。 在实际使用中,HttpClient的灵活性和强大功能使其成为Java开发者的首选HTTP客户端库。然而,配置和使用也需要一定的学习曲线,因此,了解并熟练掌握...

    Java利用HttpClient模拟POST表单操作应用及注意事项

    在Java中,我们可以通过以下步骤使用HttpClient来模拟POST表单提交: 1. 引入依赖:确保你的项目中已经引入了Apache HttpClient库。通常,这可以通过Maven或Gradle的依赖管理实现。例如,在Maven中,可以在pom.xml...

    httpclient-4.5所需jar包

    在Java编程领域,HTTPClient库是一个非常重要的工具,它允许开发者执行HTTP请求并处理响应,非常适合进行...通过熟练掌握其使用方法,我们可以构建出高效、可靠的网络应用程序,包括模拟用户登录、数据抓取等多种功能。

    httpclient

    3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对网站的反爬机制,如设置代理IP,处理验证码,调整请求间隔等。 五、总结 HttpClient作为...

    httpclient 工具包

    本篇将深入探讨HttpClient工具包的基本概念、核心组件、使用场景以及常见操作。 一、HttpClient概述 HttpClient是一个功能丰富的HTTP客户端实现,支持多种HTTP协议版本,包括HTTP/1.0和HTTP/1.1,同时也对HTTP/2有...

Global site tag (gtag.js) - Google Analytics