废话不多说,上代码
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpRequest {
/*请求url获取返回的内容*/
public static String getReturn(HttpURLConnection connection) throws IOException {
StringBuffer buffer = new StringBuffer();
//将返回的输入流转换成字符串
try(InputStream inputStream = connection.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);){
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
String result = buffer.toString();
return result;
}
}
//post请求的方法重载
public static String getReturn(String url, String jsr){
try{
URL serverUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
// 设置是否向connection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true
conn.setDoOutput(Boolean.TRUE);
conn.setDoInput(Boolean.TRUE);
//请求方式是POST
conn.setRequestMethod("POST");
// Post 请求不能使用缓存
conn.setUseCaches(false);
conn.setRequestProperty("Content-type", "application/json");
//必须设置false,否则会自动redirect到重定向后的地址
conn.setInstanceFollowRedirects(false);
//建立连接
conn.connect();
StringBuffer buffer = new StringBuffer();
byte[] bytes = jsr.getBytes();
OutputStream outputStream = conn.getOutputStream();
outputStream.write(bytes);
outputStream.flush();
outputStream.close();
//将返回的输入流转换成字符串
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
String result = buffer.toString();
return result;
}catch (Exception e){
e.printStackTrace();
}
return null;
}
}