java post请求json格式传参,最外层嵌套form-data一个参数,key为miniprogram,值为json参数
时间: 2024-04-22 13:23:29 浏览: 130
好的,您可以使用以下java代码实现该post请求:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class PostRequestExample {
public static void main(String[] args) {
String url = "your_url_here";
String method = "POST";
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
String postData = "{\"applycode\":\"KC01\",\"data\":{\"kfmc\":\"泰州时泰老百姓大药房\",\"zxbz\":\"0\"},\"dtapplet\":\"1\",\"ssqh\":\"320981\",\"yybh\":\"32129166620221110036\"}";
Map<String, String> formData = new HashMap<>();
formData.put("miniprogram", postData);
try {
String response = sendPostRequest(url, method, headers, formData);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
public static String sendPostRequest(String url, String method, Map<String, String> headers, Map<String, String> formData) throws Exception {
URL requestUrl = new URL(url);
HttpURLConnection connection = (HttpURLConnection) requestUrl.openConnection();
connection.setRequestMethod(method);
// 设置请求头
if (headers != null) {
for (String key : headers.keySet()) {
connection.setRequestProperty(key, headers.get(key));
}
}
// 设置请求体
if (formData != null) {
String boundary = "----" + System.currentTimeMillis();
connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
StringBuilder sb = new StringBuilder();
for (String key : formData.keySet()) {
sb.append("--").append(boundary).append("\r\n");
sb.append("Content-Disposition: form-data; name=\"").append(key).append("\"\r\n");
sb.append("\r\n");
sb.append(formData.get(key)).append("\r\n");
}
sb.append("--").append(boundary).append("--").append("\r\n");
connection.getOutputStream().write(sb.toString().getBytes());
}
// 发送请求并获取响应
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = in.readLine()) != null) {
response.append(line);
}
in.close();
connection.disconnect();
return response.toString();
}
}
```
其中,您需要将 `your_url_here` 替换为实际的请求URL,然后将请求参数按照json格式存入postData变量中,最后将 `miniprogram` 和 `postData` 存入 formData 变量中即可。
阅读全文