Java模拟POST表单操作 HttpClient的应用及注意事项
来源:互联网 发布:python一般用来做什么 编辑:程序博客网 时间:2024/06/07 01:29
package post;
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.PostMethod;
public class PostHttp {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HttpClient httpClient = new HttpClient();
String url = "http://193.167.13.21/setup.cgi";
PostMethod postMethod = new PostMethod(url);
// 填入各个表单域的值
NameValuePair[] data = {
new NameValuePair("ID", "11"),
new NameValuePair("mtg", "0"),
new NameValuePair("haveCookie", "0"),
new NameValuePair("backID", "30"),
new NameValuePair("psw", "password")
};
// 将表单的值放入postMethod中
postMethod.setRequestBody(data);
// 执行postMethod
int statusCode = 0;
try {
statusCode = httpClient.executeMethod(postMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
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("The page was redirected to:" + 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) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(str);
}
postMethod.releaseConnection();
return ;
}
}
//这是一个用户认证过程的登陆信息
其中需要的jar包:
1、 commons-httpclient-3.1-rc1.zip http://jakarta.apache.org/commons/httpclient/downloads.html
2、commons-codec-1.3.jar http://jakarta.apache.org/site/downloads/downloads_commons-codec.cgi
3、commons-logging-api.jar 在tomcat5.5中的Tomcat 5.5/bin目录下或者 http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi
- java 模拟 POST表单操作 HTTPCLIENT的应用 及注意事项
- Java模拟POST表单操作 HttpClient的应用及注意事项
- java使用HttpClient模拟发送http的get、post请求
- HTTPCLIENT POST 模拟有上传文件和文本字段的动态表单
- httpclient模拟post请求json封装表单数据
- 模拟浏览器的POST表单
- HttpClient 的 Post 提交表单简单示例
- HttpClient模拟Post请求
- httpClient 模拟表单提交
- Java模拟Post 提交表单数据
- Java模拟Post 提交表单数据
- Java模拟HTTP的Get和Post请求(增强) Apache-httpclient
- fidder模拟Post注意事项
- JAVA-用HttpClient来模拟浏览器GET,POST
- JAVA-用HttpClient来模拟浏览器GET,POST
- JAVA-用HttpClient来模拟浏览器GET,POST (转)
- JAVA-用HttpClient来模拟浏览器GET,POST
- JAVA-用HttpClient来模拟浏览器GET,POST (1)
- C++高效编程忠告
- 通过WSDL文件生成基本axis2client 和 server
- 学习搜索技术的绝对理由[原创]
- 基于VB.NET的多线程编程实现
- org.hibernate.exception.SQLGrammarException: could not execute query
- Java模拟POST表单操作 HttpClient的应用及注意事项
- 有关Hibernate_Id_Generator的解释(转载)
- 如何解决文件夹不能删除的情况
- 异常和错误输入的问题
- ASP.NET十分有用的页面间传值方法
- javascript中实现时间的比较
- Unable to find a javac compiler,
- 不知道写的是什么?
- Linux那些事儿之我是U盘(33)彼岸花的传说(一)