private void httpDemo(String urlStr, String inputParam) throws Exception{
// 创建流对象
URL url = null;
HttpURLConnection httpConn = null;
OutputStream output = null;
OutputStreamWriter outr = null;
url = new URL(urlStr);
// 创建connection
httpConn = (HttpURLConnection) url.openConnection();
// 重定向
HttpURLConnection.setFollowRedirects(true);
// 将connection设置为Output
httpConn.setDoOutput(true);
// 设置请求类型
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Content-Type", "text/xml");
// 开启通讯
httpConn.connect();
output = httpConn.getOutputStream();
outr = new OutputStreamWriter(output);
// 写入请求参数
outr.write(inputParam.toCharArray(), 0, inputParam.length());
outr.flush();
outr.close();
System.out.println("send ok");
int code = httpConn.getResponseCode();
System.out.println("code " + code);
System.out.println(httpConn.getResponseMessage());
}
GET请求带JSON格式参数
public String httpGet() {
// 请求参数
Map<String,Object> data = new HashMap(){
{
put("ids", new String[]{"0"};);
}
};
// 构造请求
HttpEntityEnclosingRequestBase httpEntity = new HttpEntityEnclosingRequestBase() {
@Override
public String getMethod() {
return "GET";
}
};
httpEntity.setHeader("token", "token");
CloseableHttpResponse response = null;
CloseableHttpClient client = null;
try {
client = HttpClientBuilder.create().build();
httpEntity.setURI(URI.create("https://www.baidu.com"));
httpEntity.setEntity(new StringEntity(JSONObject.toJSONString(data), ContentType.APPLICATION_JSON));
response = client.execute(httpEntity);
System.out.println(response);
if (response != null && response.getStatusLine().getStatusCode() == 200) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while((line = bufferedReader.readLine()) != null) {
result.append(line);
}
bufferedReader.close();
return result.toString();
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (response != null) {
response.close();
}
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}