Java通過代理服務器上網
來源:程序員人生 發布時間:2014-11-09 10:17:26 閱讀次數:2479次
完全代碼
package com.proj.net;
//導入編碼的jar文件
import it.sauronsoftware.base64.Base64;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 很多公司會對網上進行限制,要通過代理http://www.vxbq.cn/server/和口令才能連接外網。<br>
* 這類方式有很多好處:<br>
* 1、安全,代理http://www.vxbq.cn/server/像1層過濾層;<br>
* 2、節省本錢,只需要分配很少的IP地址便可;<br>
* 3、對員工上網可以個性化配置,避免有人下載大量數據而造成網絡擁堵不堪。<br>
*
* 本文通過1個小案例來介紹如何在程序里跨過局域網訪問外網。<br>
* 對弄網絡開發的人來講,不值1提;但對做JAVA EE利用開發的人來講,可以參考。<br>
*
* @author 王1洋
*
* 2014⑴0⑶0
* */
public class Test {
public static void main(String[] args) {
try {
//兩種方式設置代理http://www.vxbq.cn/server/
//設置代理1
//Proxy proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress("", 80));
//設置代理2
System.getProperties().setProperty( "http.proxyHost", "");
System.getProperties().setProperty( "http.proxyPort", "" );
String urlString = "http://blog.csdn.net/";
URL url = new URL(urlString);
//對應第1種設置方式
//HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(proxy);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setConnectTimeout(1000);
//設置User Agent
urlConnection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//設置訪問的用戶名和密碼
urlConnection.setRequestProperty( "Proxy-Authorization", "Basic" + Base64.encode("username:password") );
urlConnection.connect();
System.out.print(urlConnection.getResponseCode());
BufferedInputStream bis = new BufferedInputStream(urlConnection.getInputStream());
InputStreamReader isr = new InputStreamReader(bis,"UTF⑻");
BufferedReader bufferedReader = new BufferedReader(isr);
String str = "";
StringBuffer buffer = new StringBuffer("");
while((str = bufferedReader.readLine())!=null){
buffer.append(str+"
");
}
System.out.println(buffer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
返回code:200,OK!
異常Server returned HTTP response code: 403
for URL
在url.openConnection()后添加:
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈