Java发送Post请求
转载地址:https://www.cnblogs.com/sun-jin/p/7495352.html
//访问准备
URL url =
new
URL(
"http:***"
);
//post参数
Map<String,Object> params =
new
LinkedHashMap<>();
params.put(
"geomInfo"
,
""
);
params.put(
"f"
,
"json"
);
//开始访问
StringBuilder postData =
new
StringBuilder();
for
(Map.Entry<String,Object> param : params.entrySet()) {
if
(postData.length() !=
0
) postData.append(
'&'
);
postData.append(URLEncoder.encode(param.getKey(),
"UTF-8"
));
postData.append(
'='
);
postData.append(URLEncoder.encode(String.valueOf(param.getValue()),
"UTF-8"
));
}
byte
[] postDataBytes = postData.toString().getBytes(
"UTF-8"
);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod(
"POST"
);
conn.setRequestProperty(
"Content-Type"
,
"application/x-www-form-urlencoded"
);
conn.setRequestProperty(
"Content-Length"
, String.valueOf(postDataBytes.length));
conn.setDoOutput(
true
);
conn.getOutputStream().write(postDataBytes);
Reader in =
new
BufferedReader(
new
InputStreamReader(conn.getInputStream(),
"UTF-8"
));
StringBuilder sb =
new
StringBuilder();
for
(
int
c; (c = in.read()) >=
0
;)
sb.append((
char
)c);
String response = sb.toString();
System.out.println(response);
return
response;