httpClient 模拟表单提交
public static void diandianAdd(int i) {
String url = "http://www.";
PostMethod postMethod = new PostMethod(url);
// 填入各个表单域的值
NameValuePair[] data = {
new NameValuePair("email", "aaaaaaaaaa"+i+"@gmall.com"),
new NameValuePair("passwd", "aaaaaaaaaa"+i),
new NameValuePair("passwd_r", "aaaaaaaaaa"+i),
new NameValuePair("uname", "aaaaaaaaaa"+i),};
// 将表单的值放入postMethod中
postMethod.setRequestBody(data);
// 执行postMethod
int statusCode = 0;
try {
statusCode = httpClient.executeMethod(postMethod);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发
// 301或者302
if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY
|| statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
// 从头中取出转向的地址
Header locationHeader = postMethod.getResponseHeader("location");
String location = null;
if (locationHeader != null) {
location = locationHeader.getValue();
System.out.println("diandianAdd:" + location);
} else {
System.err.println("Location field value is null.");
}
return;
} else {
System.out.println(postMethod.getStatusLine());
String str = "";
try {
str = postMethod.getResponseBodyAsString();
} catch (IOException e) {
e.printStackTrace();
}
// System.out.println(str);
}
postMethod.releaseConnection();
return;
}
分享到:
相关推荐
本篇文章将深入探讨如何使用HttpClient来模拟表单提交。 表单提交通常是用户在网页上填写信息后点击提交按钮,数据通过HTTP请求发送到服务器的过程。HttpClient为我们提供了模拟这一过程的能力,无论是GET还是POST...
在使用HttpClient模拟表单POST提交时,首先需要创建一个HttpClient实例,这通常是通过HttpClientBuilder或者HttpClientFactory来完成的。然后,我们创建一个HttpGet或HttpPost对象,设置其目标URL。对于POST请求,...
通过上述分析,我们可以看到Apache HttpClient是一个非常强大的工具,它不仅能够帮助我们模拟登录过程,还可以轻松地处理复杂的表单提交任务。此外,通过对现有类的扩展,还可以实现更多的定制化需求。这对于从事Web...
这个库广泛用于Web服务交互,特别是当需要模拟浏览器行为,如登录、提交表单或者处理网页上的动态内容时。在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景...
1. **构建请求**:首先,我们需要构造一个POST请求,因为登录通常涉及到表单数据的提交,而POST请求是提交数据的标准方式。例如,我们可以创建一个HttpPost对象,并设置目标URL为登录页面的地址。 ```java ...
在标题"HttpClient模仿表单上传文件"中,我们关注的是如何使用HttpClient来模拟浏览器的表单提交,尤其是涉及到文件上传的场景。在描述中虽然没有具体信息,但通常这种情况会涉及multipart/form-data编码,这是HTML...
总结来说,C#.Net模拟表单提交涉及的关键技术有HTTP协议、`HttpWebRequest`或`HttpClient`类的使用、数据编码与解码以及错误处理。理解这些概念和实践技巧对于开发Web应用程序至关重要,尤其是在需要自动化测试、...
在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...
接下来,我们将讨论如何使用HttpClient库来动态提交网站数据,特别是表单提交。以下是一个基本的POST请求示例,用于提交表单数据: ```java import org.apache.http.HttpEntity; import org.apache....
4. **添加请求头**:设置必要的请求头,如`Content-Type`,通常设置为`application/x-www-form-urlencoded`,表示数据是以表单方式提交的。 5. **设置请求体**:使用`NameValuePair`或`BasicNameValuePair`创建参数...
然而,在使用HttpClient进行表单提交,特别是涉及到文件上传时,可能会遇到一些问题。本文将详细探讨这个问题及其解决方案。 首先,让我们看看问题的背景。在开发微信支付的小微商户进件接口时,我们需要向微信...
在Java中,我们可以通过以下步骤使用HttpClient来模拟POST表单提交: 1. 引入依赖:确保你的项目中已经引入了Apache HttpClient库。通常,这可以通过Maven或Gradle的依赖管理实现。例如,在Maven中,可以在pom.xml...
GET用于从服务器获取资源,而POST则用于向服务器提交数据,通常用于表单提交或创建新资源。模拟HTTP客户端工具使得开发者能够轻松地测试这些请求,而不必依赖于实际的网页浏览器。 HTTPClient是Java编程语言中的一...
2. 构建POST请求:模拟登录通常涉及到POST请求,因为登录通常需要提交表单数据。我们可以使用HttpPost对象来构建请求: ```java HttpPost httpPost = new HttpPost("http://example.com/login"); ``` 3. 设置请求头...
在模拟登录过程中,通常需要设置请求头(例如User-Agent、Content-Type)和请求体(如登录表单数据)。HttpClient4允许我们添加自定义Header,并通过HttpEntityEnclosingRequestBase类的setEntity方法设置请求体。...
5. **处理表单数据**:登录通常涉及表单提交,可以使用`UrlEncodedFormEntity`或`MultipartEntityBuilder`来构建表单数据,包含用户名和密码等字段。 6. **执行请求**:通过`HttpClient`的`execute()`方法执行请求...
使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...
总的来说,HttpClient4提供了一个强大而灵活的框架,可以用来模拟登录各种网站,包括百度和58同城。然而,每个网站的登录机制都有所不同,所以需要根据具体情况进行调整和优化。在开发过程中,务必遵守网站的使用...
这些参数通常需要通过表单提交,因此可能需要设置Content-Type为"application/x-www-form-urlencoded"。 ```java HttpPost httpPost = new HttpPost("http://example.com/login"); List<NameValuePair> params = ...