http请求 一般包括 请求参数/header/cookie等参数的设置。
下面使用 HttpURLConnection发起http请求 的基本操作,再复杂的 http客户端,最终都是完成这些基本操作:
URL console = new URL(url);
HttpURLConnection conn = (HttpURLConnection) console.openConnection();
// GET/POST
conn.setRequestMethod(requestMethod);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setConnectTimeout(3*1000);
conn.setReadTimeout(30*1000);
// 设置header
conn.setRequestProperty("Content-Type", "application/json");
// 设置cookie ,多个cookie 用 ; 连接,如: c1=v2;c2=v2
conn.setRequestProperty("Cookie", cookieHeader);
// 建立连接
conn.connect();
// 设置请求参数:写入body 参数,get 请求不能写参数
OutputStream outputStream = conn.getOutputStream();
outputStream.write(param.getBytes());
// 发起请求
conn.getResponseCode();
// 获取响应数据
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String ret = "";
while ((ret = br.readLine()) != null) {
if (ret != null && !ret.trim().equals("")) {
result.append(new String(ret.getBytes("utf-8"), "utf-8"));
}
}