-
java前端请求代码_个人学习系列 – java代码实现post请求
2021-02-28 17:14:57最近在开发的时候发现了一个需求,...java代码实现post请求1. 搭建springboot环境1.1 pom.xml的配置org.apache.httpcomponentshttpclient4.5.101.2 test POST方法实现@RunWith(SpringRunner.class)@SpringBootTes...最近在开发的时候发现了一个需求,就是要使用post请求去请求其他项目的接口,并且还需要带参。所以就研究了一下。
java代码实现post请求
1. 搭建springboot环境
1.1 pom.xml的配置
org.apache.httpcomponents
httpclient
4.5.10
1.2 test POST方法实现
@RunWith(SpringRunner.class)
@SpringBootTest
public class TbFreshScoreInfoEdgeTest {
@Test
public void httpPostRequest(){
//这里根据自己的需要进行数据的填充
String url = "http://IP地址+方法";
HttpClient client = HttpClients.createDefault();
//默认post请求
HttpPost post = new HttpPost(url);
//拼接多参数
JSONObject json = new JSONObject();
json.put("projectId", "1");
json.put("imageName", "2");
json.put("rowId", 3);
json.put("totalVoidArea", 4);
json.put("rowArea", 5);
json.put("voidRadio", 6.0);
json.put("minusScore", 7);
json.put("updateTime", new Date());
String message = "[" + json + "]";
try {
post.addHeader("Content-type", "application/json; charset=utf-8");
post.setHeader("Accept", "application/json");
post.setEntity(new StringEntity(message, StandardCharsets.UTF_8));
HttpResponse httpResponse = client.execute(post);
HttpEntity entity = httpResponse.getEntity();
System.err.println("状态:" + httpResponse.getStatusLine());
System.err.println("参数:" + EntityUtils.toString(entity));
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
1.3 test GET方法实现
public void httpGetRequest() {
String url = "http://IP地址+方法+参数";
try {
HttpClient client = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(url);
BasicResponseHandler responseHandler = new BasicResponseHandler();
System.err.println("参数:" + client.execute(httpGet, responseHandler));
} catch (Exception e) {
e.printStackTrace();
}
}
方法就这些,参考了网上的一些资料。
作者:周兆东
-
java发送post请求代码
2016-03-03 15:08:30public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URLpublic static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; }
-
java发送http请求给PHP_Java发送post请求的实例代码分享
2021-03-10 08:13:48Java发送post请求的实例代码分享package com.ddtech.app.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;...Java发送post请求的实例代码分享package com.ddtech.app.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
public class HttpRequestGetAndPost {
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.connect();
// 获取所有响应头字段
Map> map = connection.getHeaderFields();
// 遍历所有的响应头字段
for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, JSONObject param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!" + e);
e.printStackTrace();
}
// 使用finally块来关闭输出流、输入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
}
-
java请求提交输入框脚本_Java编程Post数据请求和接收代码详解
2021-03-13 22:40:54这两天在做http服务端请求操作,客户端post数据到服务端后,服务端通过request.getParameter()进行请求,无法读取到数据,搜索了一下发现是因为设置为text/plain模式才导致读取不到数据urlConn.setRequestProperty(...这两天在做http服务端请求操作,客户端post数据到服务端后,服务端通过request.getParameter()进行请求,无法读取到数据,搜索了一下发现是因为设置为text/plain模式才导致读取不到数据
urlConn.setRequestProperty("Content-Type","text/plain; charset=utf-8");
若设置为以下方式,则通过request.getParameter()可以读取到数据
urlConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
enctype的三种编码
form表单中enctype属性可以用来控制对表单数据的发送前的如何进行编码,即在发送到服务器之前,所有字符都会进行编码(空格转换为"+"加号,特殊符号转换为ASCIIHEX值)。默认是application/x-www-form-urlencoded。
multipart/form-data用于发送二进制的文件,其他两种类型不能用于发送文件
text/plain用于发送纯文本内容,不对特殊字符进行编码,一般用于email之类的。
application/x-www-form-urlencoded和text/plain的区别简单讲就是一个发送html内容,一个发送纯文本内容
application/x-www-form-urlencoded在发送前编码所有字符(默认)
multipart/form-data不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain空格转换为"+"加号,但不对特殊字符编码。
当定义enctype为application/x-www-form-urlencoded时,使用以下方式接收数据
request.getParameter(参数名);
当定义enctype为text/plain时,使用以下方式接收数据
// 接收请求数据
BufferedReader reader = request.getReader();
char[] buf = new char[512];
int len = 0;
StringBuffer contentBuffer = new StringBuffer();
while ((len = reader.read(buf)) != -1) {
contentBuffer.append(buf, 0, len);
}
String content = contentBuffer.toString();
if(content == null){
content = "";
}
post与get
tp请求在所有的编程语言中几乎都是支持的,我们常用的两种为:GET,POST请求。一般情况下,发送一个GET请求都很简单,因为参数直接放在请求的URL上,对于POST请求,由于其数据是在消息体中发送出去的,所以相对来说要麻烦一点,再涉及到需要发送文件等二进制的数据类型,就更需要更多的处理。
post和get可以通过键值对的方式进行参数传输,服务端通过request.getparameter方式进行请求获取数据。
客户端post数据到服务端,服务端接收处理
public class UrlConnection {
@SuppressWarnings("finally")
public static Boolean response(String url,String content) {
String line = "";
String message = "";
String returnData = "";
Boolean postState = false;
BufferedReader bufferedReader = null;
try {
URL urlObject = new URL(url);
HttpURLConnection urlConn = (HttpURLConnection) urlObject.openConnection();
urlConn.setDoOutput(true);
/*设定禁用缓存*/
urlConn.setRequestProperty("Pragma:", "no-cache");
urlConn.setRequestProperty("Cache-Control", "no-cache");
/*维持长连接*/
urlConn.setRequestProperty("Connection", "Keep-Alive");
/*设置字符集*/
urlConn.setRequestProperty("Charset", "UTF-8");
/*设定输出格式为json*/
urlConn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
/*设置使用POST的方式发送*/
urlConn.setRequestMethod("POST");
/*设置不使用缓存*/
urlConn.setUseCaches(false);
/*设置容许输出*/
urlConn.setDoOutput(true);
/*设置容许输入*/
urlConn.setDoInput(true);
urlConn.connect();
OutputStreamWriter outStreamWriter = new OutputStreamWriter(urlConn.getOutputStream(),"UTF-8");
outStreamWriter.write(content);
outStreamWriter.flush();
outStreamWriter.close();
/*若post失败*/
if((urlConn.getResponseCode() != 200)){
returnData = "{\"jsonStrStatus\":0,\"processResults\":[]}";
message = "发送POST失败!"+ "code="+urlConn.getResponseCode() + "," + "失败消息:"+ urlConn.getResponseMessage();
// 定义BufferedReader输入流来读取URL的响应
InputStream errorStream = urlConn.getErrorStream();
if(errorStream != null)
{
InputStreamReader inputStreamReader = new InputStreamReader(errorStream,"utf-8");
bufferedReader = new BufferedReader(inputStreamReader);
while ((line = bufferedReader.readLine()) != null) {
message += line;
}
inputStreamReader.close();
}
errorStream.close();
System.out.println("发送失败!错误信息为:"+message);
} else{
/*发送成功返回发送成功状态*/
postState = true;
// 定义BufferedReader输入流来读取URL的响应
InputStream inputStream = urlConn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
bufferedReader = new BufferedReader(inputStreamReader);
while ((line = bufferedReader.readLine()) != null) {
message += line;
}
returnData = message;
inputStream.close();
inputStreamReader.close();
System.out.println("发送POST成功!返回内容为:" + message);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally{
try {
if (bufferedReader != null) {
bufferedReader.close();
}
}
catch (IOException ex) {
ex.printStackTrace();
}
return postState;
}
}
/*读取request数据*/
public static String getRequestData(HttpServletRequest request) throws IOException{
BufferedReader reader = request.getReader();
char[] buf = new char[512];
int len = 0;
StringBuffer contentBuffer = new StringBuffer();
while ((len = reader.read(buf)) != -1) {
contentBuffer.append(buf, 0, len);
}
String content = contentBuffer.toString();
if(content == null){
content = "";
}
return content;
}
}
总结
以上就是本文关于Java编程Post数据请求和接收代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
java线程间通信的通俗解释及代码示例
Java多线程之线程通信生产者消费者模式及等待唤醒机制代码详解
Java多线程编程实现socket通信示例代码
如有不足之处,欢迎留言指出。
-
http post请求java_HTTP JAVA代码发送POST请求
2021-02-27 14:52:38import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLC... -
Java编程Post数据请求和接收代码详解
2020-08-28 19:35:26主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。 -
java 代码中 post_Java下通过发送http post请求的代码
2021-03-22 13:27:27搜索热词下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java... -
java发送http请求代码_Java下通过发送http post请求的代码详解
2021-02-13 02:31:46import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.Map;import org.apach... -
java获取post中的_关于Java Post数据请求和接收代码实例
2021-03-08 05:39:40Java编程Post数据请求和接收代码详解这两天在做http服务端请求操作,客户端post数据到服务端后,服务端通过request.getParameter()进行请求,无法读取到数据,搜索了一下发现是因为设置为text/plain模式才导致读取不... -
java soap_java代码POST方式请求SOAP
2021-02-12 09:22:0123 importjava.io.BufferedReader;4 importjava.io.IOException;5 importjava.io.InputStreamReader;6 importjava.nio.charset.Charset;78 importorg.apache.http.HttpEntity;9 importorg.ap... -
java post()_POST请求示例代码(JAVA)
2021-03-07 07:05:29import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.io.OutputSt... -
java接收 post_Java编程Post数据请求和接收代码详解
2021-02-12 13:51:11这两天在做http服务端请求操作,客户端post数据到服务端后,服务端通过request.getParameter()进行请求,无法读取到数据,搜索了一下发现是因为设置为text/plain模式才导致读取不到数据urlConn.setRequestProperty(... -
Java代码发送POST请求
2016-10-21 17:17:19首先写一个方法,用于接收POST请求 public static String httpPost(String url, List list) { log.info("the request info for url = {} is: {}", url); // 创建默认的httpClient实例. CloseableHttpClient htt -
java 发送get请求_Java发送GET、POST请求代码
2021-02-12 18:30:09一、创建一个servlet来接收get或post请求packageguwen;importjava.io.IOException;importjava.io.InputStream;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.... -
java post请求格式_java代码发送JSON格式的httpPOST请求
2021-03-04 04:08:25import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.H... -
java post 字符_java代码post请求参数map字符串
2021-03-08 20:47:45//JSONObject object=JSON.parseObject(JSON.toJSONString(map)) String postValue = sendPost(url, param,8*1000,10*1000, Charset.forName("utf-8")); System.out.println(postValue); } public static String ... -
java发送http的get、post请求实现代码
2020-09-02 09:14:13下面小编就为大家带来一篇java发送http的get、post请求实现代码。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
http post请求java_httpPost请求用java代码实现的方法
2021-02-12 15:57:58//首先下面我我们需要导入的jar包和文件import java.io.IOException; import java.util.ArrayList; import java.util.List;import org.apache.http.Consts;import org.apache.http.NameValuePair;import org... -
微信商务平台 p12证书调用java代码 post请求
2016-10-11 08:34:00微信商务平台 p12证书调用java代码 lib包请从微信商务平台下载demo post请求 -
basic auth java请求_java发送带Basic Auth认证的http post请求实例代码
2021-03-18 13:38:25import java.io.IOException; import java.util.Base64; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.... -
Java 发送 http post_Java下通过发送http post请求的代码
2021-03-16 02:09:55import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import java.util.Map;import org.apach... -
java发送json post请求_java代码发送JSON格式的httpPOST请求
2021-03-10 08:14:08import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.H... -
java post_Java代码发送Http的GET和POST请求
2021-02-12 08:59:53这篇也是接上一篇,发送请求的url就是前面创建的java web工程中有的。1、HTTP中GET和POST的区别首先要了解下GET和POST的区别。HTTP定义了4种与服务器交互方法:GET,POST,PUT,DELETE。URL全称是资源描述符,可以... -
JAVA httpClient post请求及接收示例代码
2018-03-28 17:16:101、java原生httpClient4.5 post请求 import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.... -
jsp java代码报错_JSP写Java代码 post请求报错。
2021-02-12 23:09:00243) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597) at java.lang.Thread.run... -
java json请求_java代码发送JSON格式的httpPOST请求
2021-02-27 22:25:03import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.H... -
java代码使用Get请求或者Post请求获取网络内容
2020-12-05 17:00:10一个GetPost请求的java代码 import org.apache.commons.lang3.StringUtils; import org.springframework.util.StreamUtils; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import... -
java如何实现get请求_Java 代码实现POST/GET请求
2021-03-21 11:23:57importjava.io.BufferedReader;importjava.io.DataOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.UnsupportedEncodingExc... -
java 发送带Basic Auth认证的http post请求实例代码
2020-09-01 07:07:22下面小编就为大家带来一篇java 发送带Basic Auth认证的http post请求实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
java getcomponents_Java httpcomponents发送get post请求代码实例
2021-02-26 08:35:06Java httpcomponents发送get post请求代码实例发布时间:2020-09-28 03:08:01来源:脚本之家阅读:64作者:贾树丙引入的包为:org.apache.httpcomponentshttpclient4.5.8实现的工具类为:import ...