如何通过Java代理实现POST和GET请求访问?
- 内容介绍
- 文章标签
- 相关推荐
本文共计424个文字,预计阅读时间需要2分钟。
模拟浏览器访问,代码如下:
javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;
模拟浏览器访问import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; /** * Http请求工具类 * @author snowfigure * @since 2014-8-24 13:30:56 * @version v1.0.1 */ public class HttpRequestUtil { static boolean proxySet = false; static String proxyHost = "127.0.0.1"; static int proxyPort = 8087; /** * 编码 * @param source * @return */ public static String urlEncode(String source,String encode) { String result = source; try { result = java.net.URLEncoder.encode(source,encode); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } public static String urlEncodeGBK(String source) { String result = source; try { result = java.net.URLEncoder.encode(source,"GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } /** * 发起api.adf.ly/api.php"; String para = "key=youkeyid&youuid=uid&advert_type=int&domain=adf.ly&url=somewebsite.com"; String sr=HttpRequestUtil.sendPost(url,para,true); System.out.println(sr); } } 判断是否设置代理成功
import java.io.BufferedInputStream; import java.net.URL; import java.net.URLConnection; public class TestProxyIp { public static void main(String args){ //System.getProperties().setProperty("proxySet", "true"); //如果不设置,只要代理IP和代理端口正确,此项不设置也可以 System.getProperties().setProperty("www.ip138.com/ip2city.asp")); //判断代理是否设置成功 } private static String getHtml(String address){ StringBuffer html = new StringBuffer(); String result = null; try{ URL url = new URL(address); URLConnection conn = url.openConnection(); conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)"); BufferedInputStream in = new BufferedInputStream(conn.getInputStream()); try { String inputLine; byte buf = new byte; int bytesRead = 0; while (bytesRead >= 0) { inputLine = new String(buf, 0, bytesRead, "ISO-8859-1"); html.append(inputLine); bytesRead = in.read(buf); inputLine = null; } buf = null; } finally { in.close(); conn = null; url = null; } result = new String(html.toString().trim().getBytes("ISO-8859-1"), "gb2312").toLowerCase(); }catch(Exception e){ e.printStackTrace(); return null; } html = null; return result; } }
本文共计424个文字,预计阅读时间需要2分钟。
模拟浏览器访问,代码如下:
javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;
模拟浏览器访问import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; /** * Http请求工具类 * @author snowfigure * @since 2014-8-24 13:30:56 * @version v1.0.1 */ public class HttpRequestUtil { static boolean proxySet = false; static String proxyHost = "127.0.0.1"; static int proxyPort = 8087; /** * 编码 * @param source * @return */ public static String urlEncode(String source,String encode) { String result = source; try { result = java.net.URLEncoder.encode(source,encode); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } public static String urlEncodeGBK(String source) { String result = source; try { result = java.net.URLEncoder.encode(source,"GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); return "0"; } return result; } /** * 发起api.adf.ly/api.php"; String para = "key=youkeyid&youuid=uid&advert_type=int&domain=adf.ly&url=somewebsite.com"; String sr=HttpRequestUtil.sendPost(url,para,true); System.out.println(sr); } } 判断是否设置代理成功
import java.io.BufferedInputStream; import java.net.URL; import java.net.URLConnection; public class TestProxyIp { public static void main(String args){ //System.getProperties().setProperty("proxySet", "true"); //如果不设置,只要代理IP和代理端口正确,此项不设置也可以 System.getProperties().setProperty("www.ip138.com/ip2city.asp")); //判断代理是否设置成功 } private static String getHtml(String address){ StringBuffer html = new StringBuffer(); String result = null; try{ URL url = new URL(address); URLConnection conn = url.openConnection(); conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)"); BufferedInputStream in = new BufferedInputStream(conn.getInputStream()); try { String inputLine; byte buf = new byte; int bytesRead = 0; while (bytesRead >= 0) { inputLine = new String(buf, 0, bytesRead, "ISO-8859-1"); html.append(inputLine); bytesRead = in.read(buf); inputLine = null; } buf = null; } finally { in.close(); conn = null; url = null; } result = new String(html.toString().trim().getBytes("ISO-8859-1"), "gb2312").toLowerCase(); }catch(Exception e){ e.printStackTrace(); return null; } html = null; return result; } }

