httpClient模拟post提交jar包3.1版本
public void test() throws Exception{
String url = "http://192.168.*.*:8080/action";
//Apache开源组件HttpClient
HttpClient hc = new HttpClient();
hc.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8");
PostMethod postMethod=new PostMethod(url);
//构造方法需要的参数 实体类字段信息
NameValuePair[] paramValue = new NameValuePair[1];
paramValue[0] = new NameValuePair("sysType","zhifu");
postMethod.addParameters(paramValue);
//设置请求最大延时
hc.setTimeout(1000*60);
//返回结果 200为通过
int result=0;
try {
result = hc.executeMethod(postMethod);
System.out.println("访问考勤系统结果,如果为200,即访问成功!:==>"+result);
//打印访问的网站源码
//System.out.println(postMethod.getResponseBodyAsStream());
} catch (Exception e) {
e.printStackTrace();
}
//用于判断返回结果集的行
boolean kResult = false;
//临时装结果集用
String temp= "";
//如果成功 200
if (result == HttpStatus.SC_OK) {
StringBuffer contentBuffer = new StringBuffer();
InputStream in = postMethod.getResponseBodyAsStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, postMethod.getResponseCharSet()));
String inputLine = null;
while ((inputLine = reader.readLine()) != null) {
contentBuffer.append(inputLine);
if(kResult){
temp = inputLine;
kResult = false;
}
//判断下一条记录是返回的结果集 这里是根据读取流进行判断的
if(inputLine .endsWith("<body >")){
kResult = true;
}
//换行
contentBuffer.append("/n");
}
in.close();
} else if (result == HttpStatus.SC_MOVED_PERMANENTLY || result == HttpStatus.SC_MOVED_TEMPORARILY) {
// 从头中取出转向的地址 如果访问失败,有其他跳转地址的时候使用
Header locationHeader = postMethod.getResponseHeader("location");
String location = null;
if (locationHeader != null) {
location = locationHeader.getValue();
System.out.println("备用跳转地址:" + location);
} else {
System.err.println("没有备用跳转地址...");
}
}
//结束访问
postMethod.releaseConnection();
}}
分享到:
相关推荐
以下是一个基本的示例,展示了如何使用HttpClient模拟POST提交: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://example.com/submit-form"); ...
本篇文章将深入探讨如何使用HttpClient来模拟表单提交。 表单提交通常是用户在网页上填写信息后点击提交按钮,数据通过HTTP请求发送到服务器的过程。HttpClient为我们提供了模拟这一过程的能力,无论是GET还是POST...
1. **构建请求**:首先,我们需要构造一个POST请求,因为登录通常涉及到表单数据的提交,而POST请求是提交数据的标准方式。例如,我们可以创建一个HttpPost对象,并设置目标URL为登录页面的地址。 ```java HttpPost...
2. 使用HttpClient模拟POST请求 在上一节中,我们已经介绍了如何使用HttpClient库来模拟浏览器的GET请求。在本节中,我们将继续介绍如何使用HttpClient库来模拟浏览器的POST请求。 ```java package http.demo; ...
在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...
利用某些站点提供的页面来完成某种功能,例如说我们想知道某个手机号码的归属地而我们自己又没有这样的数据,因此只好借助其他公司已有的网站来完成这个功能,这个时候我们需要向网页提交手机号码并从返回的页面中...
在Java中,我们可以通过以下步骤使用HttpClient来模拟POST表单提交: 1. 引入依赖:确保你的项目中已经引入了Apache HttpClient库。通常,这可以通过Maven或Gradle的依赖管理实现。例如,在Maven中,可以在pom.xml...
这个库广泛用于Web服务交互,特别是当需要模拟浏览器行为,如登录、提交表单或者处理网页上的动态内容时。在本实例中,我们将探讨如何使用HttpClient库来模拟登录网站,获取用户信息,以及处理带有验证码的登录场景...
本示例主要关注如何使用C#来模拟POST提交,这对于API测试、自动化脚本或集成第三方服务非常有用。 1. **HttpClient类**: .NET Framework 4.5及以上版本引入了`HttpClient`类,它是执行HTTP请求的最佳选择。`...
总结来说,模拟登录微博平台,如新浪和腾讯,主要涉及HttpClient4的使用,包括创建HTTP客户端、构建POST请求、处理响应和Cookie管理。每个平台的登录细节可能略有不同,需要根据具体情况进行调整。了解这些知识点...
总结,C#通过`HttpClient`类提供了一种简单而强大的方式来实现POST提交表单,这在Web API、Web服务和其他需要与服务器交互的应用中非常常见。了解并熟练掌握这一技术,对于提升C#开发者在网络编程领域的技能至关重要...
HTTPClient库允许我们创建GET、POST等请求,添加头信息,处理响应,甚至进行更复杂的操作,如表单提交和文件上传。 在Java中,Apache HttpClient库是最常用的HTTP客户端实现之一。要使用它,首先需要在项目中引入...
当我们谈论“浏览器发送模拟httpclient软件”时,我们指的是一个能够模拟浏览器行为的应用程序,允许用户通过编程方式执行HTTP请求,如POST和GET。 POST和GET是HTTP请求的两种主要方法。GET用于从服务器获取资源,...
使用HttpClient来模拟浏览器GET_POST HttpClient是一个Apache开源组织中的项目,隶属于Jakarta的commons项目,旨在简化HTTP客户端与服务器进行各种通讯编程。通过使用HttpClient,可以轻松地解决以前很头疼的事情,...
2. 构建POST请求:模拟登录通常涉及到POST请求,因为登录通常需要提交表单数据。我们可以使用HttpPost对象来构建请求: ```java HttpPost httpPost = new HttpPost("http://example.com/login"); ``` 3. 设置请求头...
在C#编程中,模拟POST提交通常用于模拟用户在网页上的表单提交行为,例如上传文件,特别是图片。这个过程涉及到HTTP协议的理解、文件流处理以及服务器端的存储逻辑。以下将详细介绍如何实现这个功能。 首先,理解...
在回贴操作中,通常涉及发送POST请求到特定的URL,这个URL通常是网站的提交评论接口。请求体可能包含帖子的内容、用户ID等信息。HttpClient4可以通过HttpPost类实现这一操作,将这些数据封装成NameValuePair或...
在这个场景下,我们关注的是如何使用`HttpClient`进行模拟登录。 模拟登录通常是开发自动化测试、爬虫或集成服务时必要的步骤,它允许程序模仿用户在网页上的登录行为。以下是一份使用`HttpClient`进行模拟登录的...
2. **模拟POST请求**: POST请求则需要传递数据。首先,创建HttpPost对象,并通过setEntity()方法设置HttpEntity,该实体可以包含POST的数据。对于表单数据,可以使用UrlEncodedFormEntity。源码示例如下: ```...