`
tracyjuan
  • 浏览: 11363 次
  • 性别: Icon_minigender_2
  • 来自: 郑州
社区版块
存档分类
最新评论

java模拟post的两种方法

阅读更多
import java.io.IOException;
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;

public class Test {
public static void main(String[] args) throws IOException {
         HttpClient httpclient = new DefaultHttpClient();
         HttpPost httppost = new HttpPost("http://192.168.157.183:8089");

         List<NameValuePair> formparams = new ArrayList<NameValuePair>();
         formparams.add(new BasicNameValuePair("xmldate", "<html>你好啊啊</html>"));
         UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "GBK");
         entity.setContentType("text/xml; charset=utf8");
         httppost.setEntity(entity);
         HttpResponse response = httpclient.execute(httppost);
         HttpEntity resEntity = response.getEntity();
         InputStreamReader reader = new InputStreamReader(resEntity.getContent(), "ISO-8859-1");
         char[] buff = new char[1024];
         int length = 0;
         while ((length = reader.read(buff)) != -1) {
                 System.out.println(new String(buff, 0, length));
                 httpclient.getConnectionManager().shutdown();
         }
}
}



import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class Test2 {
public static void main(String[] args) throws Exception {
Test2 test=new Test2();

List<NameValuePair> formparams = new ArrayList<NameValuePair>();
test.httpPost("http://192.168.157.183:8089",formparams);
}

public String httpPost(String url, List<NameValuePair> nvps) throws Exception {
String result = "";
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost post = new HttpPost(url);
post.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
CloseableHttpResponse httpResp = httpclient.execute(post);
try {
if (httpResp.getStatusLine().getStatusCode() == 200) {
HttpEntity entity = httpResp.getEntity();
if (entity != null) {
result = EntityUtils.toString(entity);
// 保证连接能释放回管理器
EntityUtils.consume(entity);
}
}
} finally {
httpResp.close();
httpclient.close();
}
return result;
}
}
分享到:
评论

相关推荐

    java后台实现 get post 提交.zip

    在Java后端开发中,GET和POST是两种最常见的HTTP请求方法,它们用于客户端与服务器之间的数据交互。了解如何在Java中实现这两种请求是至关重要的,尤其是对于构建Web应用程序。本资料"java后台实现 get post 提交....

    模拟表单post提交

    当涉及到网页表单的提交时,通常有两种主要的方法:GET和POST。GET用于获取资源,而POST用于向服务器发送数据,如用户填写的表单信息。Java作为一个强大的后端开发语言,提供了多种库来帮助开发者模拟表单的POST提交...

    java模拟post请求发送json的例子

    两种方法各有优劣。`HttpURLConnection`是Java标准库的一部分,无需额外依赖,但API较为底层,使用起来相对繁琐。而`HttpClient`提供了更高级的抽象,功能强大,易于使用,但需要引入外部依赖。 总结来说,当你需要...

    Java模拟get/post登陆(含验证码)

    它分为GET和POST两种请求方式。GET主要用于获取资源,而POST则用于提交数据。 1. **模拟GET登录**: GET登录通常适用于无需提交大量数据或敏感信息的场景。在Java中,我们可以使用HttpURLConnection或者Apache ...

    JAVA模拟网页发送请求

    以下是如何使用Java模拟POST请求的步骤: ##### 代码示例: ```java // 创建URL对象 URL url = new URL("http://www.xyz.com/"); // 创建HttpURLConnection对象 HttpURLConnection huc = (HttpURLConnection) url....

    android webview模拟网页post操作

    总结来说,通过WebView的`postUrl`方法,我们可以在Android应用中轻松地模拟POST请求,只需注意数据的编码方式,即可实现与网页的交互。这对于开发具有登录功能或其他需要与服务器交互的应用程序非常有用。

    后台模拟发送GET和POST请求

    首先,我们来理解GET和POST两种请求方法。GET请求通常用于获取服务器上的资源,它将参数附加到URL中,具有可缓存、可被书签、地址栏可见等特性。POST请求则用于向服务器提交数据,常用于创建或更新资源,其参数包含...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    本文将通过具体的代码示例,详细介绍如何使用Java HttpClient来发送这两种类型的请求。 #### 二、发送GET请求 在Java中使用HttpClient发送GET请求相对简单。首先,需要创建一个`HttpClient`实例,然后使用`...

    java后端请求HTTP需要用到的jar包及其测试方法(get和post)

    测试HTTP请求的方法通常包括GET和POST两种方式: **GET请求**: 1. 创建HttpClient实例。 2. 创建HttpGet请求对象,设置请求URL。 3. 使用HttpClient的execute方法发送请求并获取HttpResponse。 4. 处理响应,例如...

    Java代码调用HTML5中的JS函数算法

    "java调用js方法.doc"很可能是详细描述如何从Java调用JS函数的步骤和示例。 在实际应用中,Java代码可能会通过Ajax发送一个请求到服务器,服务器解析请求后调用对应的JS函数,例如在"des.js"中执行解密操作,然后将...

    java实现模拟登录网站最全的资料

    `使用 HttpClient 和 HtmlParser 实现简易爬虫.mht`等文件可能包含了使用这两个库实现模拟登录和爬虫的实例。 6. **网页爬虫**:结合HttpClient和HTMLParser,可以构建简单的网页爬虫。`使用httpParser提取HTML中的...

    java 监听本地文件自动上传服务器

    接下来,我们讨论“模拟POST提交文件流同步服务器文件”。在Java中,可以使用`java.net.HttpURLConnection`或第三方库如Apache HttpClient来实现HTTP POST请求。以下是一个基本的使用HttpURLConnection的例子: ```...

    JAVA+JSP实现模拟登录主动向用户推送

    本文将深入探讨如何使用这两种技术来实现一个模拟登录并主动向用户推送信息的系统。 首先,我们需要理解Java和JSP的基本概念。Java是一种面向对象的编程语言,广泛应用于服务器端开发,提供强大的功能和良好的可...

    用Java事件处理机制实现录制回放功能

    两种实现方式可能包括: 1. **基于模拟的回放**:使用`java.awt.Robot`类模拟用户输入,例如移动鼠标、按下按键等。这种方式可以直接控制GUI的行为,但可能无法精确重现某些复杂的用户交互。 2. **基于事件序列的...

    Java和PHP两种方式实现上传图片到新浪微博的图床

    在本文中,我们将深入探讨如何使用Java和PHP两种编程语言实现将图片上传到新浪微博的图床。新浪微博图床是微博平台提供的一种服务,允许开发者将其图片存储在微博的服务器上,以便在微博内容中引用。这不仅可以节省...

    java模拟登陆

    根据给定的信息,本文将详细解释“Java模拟登录”的核心概念、实现原理及代码示例中的关键部分。 ### Java模拟登录概述 Java模拟登录是指利用Java编程语言来模拟用户登录的过程,通过向服务器发送带有用户名、密码...

    java-使用java开发的http-post测试工具

    HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,而POST是HTTP协议中的一个方法,用于向服务器发送数据。在网页表单提交或者API接口调用时,我们经常使用POST请求来传递参数。 使用Java开发这样的...

    post下载excel.zip

    2. **转换为表单提交(Form Submit)**:另一种方法是模拟表单提交。在JavaScript中,我们可以创建一个隐藏的表单,设置其action为下载Excel文件的URL,并将POST数据填充到表单字段中。然后,通过触发表单的submit...

    用HttpClient来模拟浏览器的GET,POST

    2. **模拟POST请求**: POST请求则需要传递数据。首先,创建HttpPost对象,并通过setEntity()方法设置HttpEntity,该实体可以包含POST的数据。对于表单数据,可以使用UrlEncodedFormEntity。源码示例如下: ```...

Global site tag (gtag.js) - Google Analytics