Java如何使用HttpClient进行POST请求呢?

戚薇 Java经验 发布时间:2023-07-04 15:18:10 阅读数:206 1
下文笔者讲述HttpClient使用POST请求提交表单数据的方法及示例分享
1.设置代理 
    HttpHost proxy = new HttpHost("8.8.8.8", 8080);
    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
2.设置目标地址
    HttpPost httppost = new HttpPost("http://www.java265.net/login.jsp");
    System.out.println("请求: " + httppost.getRequestLine());
3.构造最简单的字符串数据
    StringEntity reqEntity = new StringEntity("username=test&password=test");
4.设置类型
    reqEntity.setContentType("application/x-www-form-urlencoded");
5.设置请求的数据
    httppost.setEntity(reqEntity);
6.请求
    httpclient.execute
例:HttpClient提交POST请求的示例分享
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;

/**
 * HttpClient使用POST方式提交普通表单数据 
 */
public class HttpClientPost {
  public static void main(String[] args) throws Exception {
    DefaultHttpClient httpclient = new DefaultHttpClient();
    // 代理的设置
    HttpHost proxy = new HttpHost("8.8.8.8", 8080);
    httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
    // 目标地址
    HttpPost httppost = new HttpPost("http://www.java265.net/login.jsp");
    System.out.println("请求: " + httppost.getRequestLine());
    // 构造最简单的字符串数据
    StringEntity reqEntity = new StringEntity("username=test&password=test");
    // 设置类型
    reqEntity.setContentType("application/x-www-form-urlencoded");
    // 设置请求的数据
    httppost.setEntity(reqEntity);
    // 执行
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    System.out.println("----------------------------------------");
    System.out.println(response.getStatusLine());
    if (entity != null) {
      System.out.println("Response content length: " + entity.getContentLength());
    }
    // 显示结果
    BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));
    String line = null;
    while ((line = reader.readLine()) != null) {
      System.out.println(line);
    }
    if (entity != null) {
      entity.consumeContent();
    }
  }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16884551336992.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者