HttpRequestUtil.java package com.myUtil;import java.util.List;import java.io.BufferedReader;import java.io.File;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.InetSocketAddress;import java.net.Proxy;import java.
package com.myUtil;
import java.util.List;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.net.URLConnection;
import java.util.Map;
import org.apache.xmlbeans.impl.util.Base64;
public class HttpRequestUtil {
private static Proxy createProxy(String proxyHost, int proxyPort) {
// 创建代理服务器
InetSocketAddress addr = new InetSocketAddress(proxyHost, proxyPort);
// http代理
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
return proxy;
}
public static String sendGet(String url)
{
return sendGet(url, null);
}
public static String sendGet(String url, String params)
{
String result = "";
String urlName = "";
BufferedReader br = null;
try {
if (params != "" && params != null) {
urlName = url + "?" + params;
}
else {
urlName = url;
}
URL realUrl = new URL(urlName);
URLConnection conn = realUrl.openConnection();
// 设置代理
//URLConnection conn = realUrl.openConnection(createProxy(proxyHost, proxyPort));
// 如果需要设置代理账号密码则添加下面一行
//conn.setRequestProperty("Proxy-Authorization", "Basic "+Base64.encode("account:password".getBytes()));
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36");
conn.connect();
Map
> map = conn.getHeaderFields();
for(String key : map.keySet())
{
System.out.println(key + ": " + map.get(key));
}
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = br.readLine()) != null)
{
result += line + "\n";
}
} catch (Exception e) {
System.out.println("发送GET请求出现异常!" + e);
e.printStackTrace();
} finally {
if(br != null)
{
try {
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return result;
}
public static String sendPost(String url, String formData) {
return sendPost(url, null, formData);
}
public static String sendPost(String url, String params, String formData) {
PrintWriter out = null;
BufferedReader br = null;
String urlName = "";
String result = "";
try {
if (params != "" && params != null) {
urlName = url + "?" + params;
}
else {
urlName = url;
}
URL realURL = new URL(urlName);
URLConnection conn = realURL.openConnection();
// 设置代理
//URLConnection conn = realUrl.openConnection(createProxy(proxyHost, proxyPort));
// 如果需要设置代理账号密码则添加下面一行
//conn.setRequestProperty("Proxy-Authorization", "Basic "+Base64.encode("account:password".getBytes()));
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36");
// 如果需要设置代理账号密码则添加下面一行
//conn.setRequestProperty("Proxy-Authorization", "Basic "+Base64.encode("account:password".getBytes()));
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输入流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(formData);
out.flush();
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = br.readLine()) != null) {
result += line + "\n";
}
} catch (Exception e) {
System.out.println("发送POST请求出现异常!" + e);
e.printStackTrace();
} finally {
try {
if(br != null)
{
br.close();
}
if(out != null)
{
out.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return result;
}
}
