`

用java写post请求(添加post参数)

    博客分类:
  • java
阅读更多
网址和参数需要根据自己的情况修改

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;


public static String getHtmlByPost(String urlString) throws IOException{

/*
*  POST https://www.xxx.com
sign: 3149fa619b03988963bf1c53b8947f0e
Content-Type: application/x-www-form-urlencoded
Content-Length: 285
Host: www.xxx.com
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.2.0
_time=2017-12-15%2011%3A07%3A02&user_coordinate=116.307956%2C39.966622&coordinate=116.307956%2C39.966622&_osversion=6.0&radius=50000&_build=50&_platform=Android&_cityid=110100&_device=awiftb0%3A89%3A00%3A99%3A27%3Ae8&_version=3.8.3&page=1&channel=huijiachifan&size=10&_screen=1080x1810
*/
URL url = new URL(urlString);
//参数
StringBuilder parameterbulider = new StringBuilder();
//响应
StringBuilder responseBuilder = new StringBuilder();
BufferedReader reader = null;
PrintWriter out = null;

HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setInstanceFollowRedirects(false);
//post 请求必须设置此处
conn.setDoOutput(true);
conn.setDoInput(true);

conn.setUseCaches(false);
conn.setDefaultUseCaches(false);
conn.setConnectTimeout(30 * 1000);//连接超时
conn.setReadTimeout(30 * 1000);//读取超市
conn.setRequestMethod("POST");

//多个参数拼接
parameterbulider.append("sign=3149fa619b03988963bf1c53b8947f0e");
parameterbulider.append("Content-Type=application/x-www-form-urlencoded");
parameterbulider.append("Content-Length=285");
parameterbulider.append("Host=www.xxx.com");
parameterbulider.append("Connection=Keep-Alive");
parameterbulider.append("Accept-Encoding=gzip");
parameterbulider.append("User-Agent=okhttp/3.2.0");
parameterbulider.append("_time=2017-12-15%2011%3A07%3A02&user_coordinate=116.307956%2C39.966622&coordinate=116.307956%2C39.966622&_osversion=6.0&radius=50000&_build=50&_platform=Android&_cityid=110100&_device=awiftb0%3A89%3A00%3A99%3A27%3Ae8&_version=3.8.3&page=2&channel=huijiachifan&size=10&_screen=1080x1810");


out = new PrintWriter(conn.getOutputStream());
out.print(parameterbulider.toString());
out.flush();

reader = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null)
{
  responseBuilder.append(line + "\n");
}
reader.close();
String result = responseBuilder.toString();

return result;
}
/**
测试*/

public static void main(String[] args) {
String url="https://www.xxx.com";
try {
System.out.println(getHtmlByPost(url));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
评论

相关推荐

    JAVA发送POST请求,如何使用JAVA发送POST请求

    本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...

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

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    Java Https工具类,Java Https Post请求

    这个“Java Https工具类,Java Https Post请求”可能是一个自定义的类,用于简化发送HTTPS POST请求的过程。以下是对这个主题的详细讲解: 1. **HTTPS基础**: - HTTPS是在HTTP上添加了SSL/TLS(Secure Sockets ...

    无参数的post请求

    3. **安全性考虑**:对于一些敏感的操作,如删除资源,使用无参数POST请求可以在一定程度上增加安全性,避免因URL泄露而导致的安全风险。 #### 六、注意事项 1. **兼容性问题**:不同的Web服务器和框架可能对无...

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...

    java支持https的Post请求

    接下来,我们可以使用`HttpURLConnection`或第三方库如Apache HttpClient来发送POST请求。以下是一个使用`HttpURLConnection`的例子: ```java import java.io.OutputStream; import java.net.HttpURLConnection; ...

    Java模拟post请求传上传文件、下载文件、

    Java模拟post请求传上传文件(文件流做参)、下载文件、好使的。

    java实现get请求post请求,文件传输

    java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...

    java中main方法发送httpPost请求

    以上就是使用`HttpURLConnection`发送POST请求的基本步骤。然而,实际开发中,我们可能更倾向于使用Apache HttpClient或OkHttp,因为它们提供了更高级的功能,如自动重试、超时设置和更好的性能。 对于标签中的...

    JAVA常用POST请求汇总

    JAVA常用POST请求汇总,用于调用别人的接口

    如何用selenium封装post参数提交示例

    封装POST请求的关键在于模拟表单提交或者使用JavaScript执行AJAX请求。以下是一个简单的例子,展示如何使用Selenium来封装POST参数: ```python from selenium import webdriver from selenium.webdriver.common....

    HttpPost_from.java java http-post form表单客户端请求代码

    java http-post form表单客户端请求代码,拿过去直接应用即可

    java代码发送JSON格式的httpPOST请求

    对于Java开发者而言,能够熟练地使用Java代码来发送JSON格式的HTTP POST请求是一项必备技能,它不仅能够增强应用的网络通信能力,还能提升与各种RESTful API的交互效率。 #### 1. 使用`HttpURLConnection`发送POST...

    java批量执行post请求分析并对比结果

    总结来说,批量执行Java POST请求涉及的关键技术包括:使用HttpClient库发送请求,从txt文件读取参数,处理响应结果,生成和对比结果文件。通过这些技术,我们可以高效地自动化处理大批量的HTTP请求任务。

    java发送http/https请求(get/post)Demo,亲测可用

    这里我们将深入探讨如何使用Java发送GET和POST请求,以及处理JSON数据。 首先,让我们关注GET请求。GET请求主要用于从服务器获取资源,其参数通常包含在URL中。在Java中,可以使用`HttpURLConnection`类或者第三方...

    java后台实现 get post 提交.zip

    在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient或Spring的RestTemplate来实现POST请求。以下是一个使用`HttpURLConnection`的POST请求示例: ```java import java.io.OutputStream; ...

    发送Post请求,内容格式为xml,并获取响应内容

    在给定的代码片段中,主要展示了如何使用Java中的Apache HttpClient库发送一个包含XML数据的POST请求,并接收响应。下面是对关键部分的详细分析: 1. **导入必要的库**:代码首先导入了处理网络请求、输入输出流...

    post参数加密请求.rar

    在"post加密请求.txt"文件中,可能详细阐述了如何使用Java实现POST请求参数的加密过程,包括设置请求头、构造请求体、选择合适的加密算法以及处理响应。具体步骤可能包括以下几点: 1. **参数预处理**:将待发送的...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

Global site tag (gtag.js) - Google Analytics