導航:首頁 > 編程語言 > javaurl代理

javaurl代理

發布時間:2021-10-26 04:28:56

java實現socks5代理功能的客戶端,模擬瀏覽器進行HTTP POST提交

SocketAddress addr = new InetSocketAddress(sProxyAddr,Integer.valueOf(sProxyPort));
Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
socket = new Socket(proxy);
socket.connect(new InetSocketAddress(ip, port));

㈡ java HttpClient設置代理的話,用戶名和密碼怎麼設置

使用代理需要導入:commons-logging-1.1.jar,httpclient-4.0-beta2.jar ,httpcore-4.1-alpha1.jar 和 commons-codec-1.4.jar架包。

在連接代理時需要使用用戶名和密碼構造UsernamePasswordCredentials對象並作為參數傳遞給對象。


具體用法如下:

publicstaticvoidmain(Stringargs[])
{
StringBuffersb=newStringBuffer();
//創建HttpClient實例
HttpClientclient=getHttpClient();
//創建httpGet
HttpGethttpGet=newHttpGet("http://www.csdn.net");
//執行
try{
HttpResponseresponse=client.execute(httpGet);

HttpEntityentry=response.getEntity();

if(entry!=null)
{
InputStreamReaderis=newInputStreamReader(entry.getContent());
BufferedReaderbr=newBufferedReader(is);
Stringstr=null;
while((str=br.readLine())!=null)
{
sb.append(str.trim());
}
br.close();
}

}catch(ClientProtocolExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println(sb.toString());
}
//設置代理
(){
DefaultHttpClienthttpClient=newDefaultHttpClient();
StringproxyHost="proxycn2.huawei.com";
intproxyPort=8080;
StringuserName="china\******";
Stringpassword="*******「
httpClient.getCredentialsProvider().setCredentials(
newAuthScope(proxyHost,proxyPort),
(userName,password));
HttpHostproxy=newHttpHost(proxyHost,proxyPort);
httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY,proxy);
returnhttpClient;
}

㈢ 想用java編寫個代理伺服器,求具體一些思路,詳細一些,謝謝

在編寫代理伺服器之前,首先應該明白一點,Java的代理機制,如圖所示:

那麼Java就處於中間這層代理伺服器,代理伺服器所作的事情如下:
1、接收客戶端請求,進行處理,然後發送給服務端
2、接收服務端響應,進行處理,然後發送給客戶端
這樣,就更清晰了,Java提供了代理的API為,java.net.Proxy類。此類表示代理設置,通常為類型(http、socks)和套接字地址。Proxy 是不可變對象。

也就是說Java可以製作高級協議的代理,如 HTTP 或 FTP。也可以製作SOCKS(V4 或 V5)代理。
首先,使用到了URL類,HttpURLConnection類及其我們的代理類Proxy類。他們都位於java.net包中。

第一步:生成代理,指定埠為8888:

第二步:使用URLConnection類進行連接www.moonsos.com

第三步:打開URL,並且讀取HTML源碼

㈣ 創建連接是HttpsURLConnection,怎麼設置代理伺服器

java設置代理

packagecom.path.test;

importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileOutputStream;
importjava.net.URL;
importjava.net.URLConnection;

publicclassTURLConnection{
publicstaticvoidmain(Stringargs[])throwsException
{

//設置代理上外網
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost","172.31.170.14");
System.getProperties().put("proxyPort","8080");

/*

如果需要驗證用戶

//Authenticator.setDefault(newMyAuthenticator());

*/
URLurl=newURL("http://www.csdn.net");
URLConnectionurlCon=url.openConnection();

/*
*方法1,一次過讀取所有信息
*/
BufferedInputStreambis=newBufferedInputStream(urlCon.getInputStream());
BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream("C:aa.htm"));

byteb[]=newbyte[bis.available()];
bis.read(b);
bos.write(b);
bos.flush();

bis.close();
bos.close();

㈤ java網路編程 通過腳步代理設置

可以看一下java網路通訊方面的書籍,自己找答案才能進步快。

㈥ JAVA中如何設置代理伺服器,取消代理伺服器

在JAVA中怎麼設置代理伺服器呢,非常簡單
publicvoidsetServiceProxy(Configconfig){
this.config=config;
System.setProperty("http.proxyHost",config.getProxyHost());
System.setProperty("http.proxyPort",config.getProxyPort());
System.setProperty("https.proxyHost",config.getProxyHost());
System.setProperty("https.proxyPort",config.getProxyPort());
}
然後在每一個HttpUrlConnection請求中,設置代理伺服器用戶名和密碼,並進行Base64加密(看你代理伺服器的要求,可能因代理伺服器不同而不同),代碼如下
()throwsIOException{
Stringauthorization=config.getProxyUser()+":"
+config.getProxyPassword();
URLurl=newURL(config.getRequestUrl());
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setRequestProperty("Proxy-Authorization",
"Basic"+Base64.encodeBase64String(authorization.getBytes()));
returnconn;
}

㈦ Java 中怎樣在程序中設置代理伺服器

importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.net.Authenticator;
importjava.net.HttpURLConnection;
importjava.net.InetSocketAddress;
importjava.net.PasswordAuthentication;
importjava.net.Proxy;
importjava.net.URL;

publicclassProxyDemo2{
publicstaticvoidmain(String[]args)throwsException{
URLurl=newURL("http://www.3lai8.com");
///創建代理伺服器
InetSocketAddressaddr=newInetSocketAddress("192.168.0.254",8080);
//Proxyproxy=newProxy(Proxy.Type.SOCKS,addr);//Socket代理
Proxyproxy=newProxy(Proxy.Type.HTTP,addr);//http代理
Authenticator.setDefault(newMyAuthenticator("username","password"));//設置代理的用戶和密碼
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection(proxy);//設置代理訪問
InputStreamReaderin=newInputStreamReader(connection.getInputStream());
BufferedReaderreader=newBufferedReader(in);
while(true){
Strings=reader.readLine();
if(s!=null){
System.out.println(s);
}
}
}

{
privateStringuser="";
privateStringpassword="";

publicMyAuthenticator(Stringuser,Stringpassword){
this.user=user;
this.password=password;
}

(){
(user,password.toCharArray());
}
}

}

㈧ 關於java調用url介面方法的問題

對於具體的數據請求方式、請求方式、響應數據格式要看你的介面要求,這是通用代碼:

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.URL;

publicclassTest{
publicstaticvoidmain(String[]args)throwsIOException{
System.out.println(getData());
}
publicstaticStringgetData()throwsIOException{
//創建指定url的url對象,這里的地址是:淘寶商品搜索建議
URLurl=newURL("https://suggest.taobao.com/sug?code=utf-8&q=電腦&callback=cb");
//創建http鏈接對象
HttpURLConnectioncon=(HttpURLConnection)url.openConnection();
//設置請求方式
con.setRequestMethod("POST");
//打開鏈接,上一步和該步驟作用相同,可以省略
con.connect();

//獲取請求返回內容並設置編碼為UTF-8
BufferedReaderreader=newBufferedReader(newInputStreamReader(con.getInputStream(),"UTF-8"));
//將返回數據拼接為字元串
StringBuffersb=newStringBuffer();
//臨時字元串
Stringtemp=null;
//獲取數據
while((temp=reader.readLine())!=null){
sb.append(temp);
}
//關閉流
reader.close();
returnsb.toString();
}
}

結果:

閱讀全文

與javaurl代理相關的資料

熱點內容
多個表格文件怎樣壓縮文件 瀏覽:729
cad文件大很卡如何解決 瀏覽:633
將java程序打包成apk 瀏覽:277
2021唱吧文件找不到了 瀏覽:463
華為p9手機文件管理 瀏覽:284
固定在工具欄的文件夾怎麼查找路徑 瀏覽:667
半條命2有幾個版本 瀏覽:333
電腦管家微信備份文件夾 瀏覽:826
ubuntu文件夾解鎖 瀏覽:34
網站多少錢一單 瀏覽:382
系統鏡像恢復找不到文件 瀏覽:255
進什麼網站 瀏覽:588
修改了配置文件代碼沒有讀出來 瀏覽:749
vss資料庫是什麼 瀏覽:899
奇跡13單機系統找不到指定文件 瀏覽:719
flyme魅藍3以前的版本 瀏覽:318
安卓文件管理哪些文件夾可以刪除 瀏覽:290
安卓車載導航沒有聲音是怎麼回事 瀏覽:810
cjson數組格式 瀏覽:159
vb文件在哪裡 瀏覽:215

友情鏈接