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

javahttpclient代理

發布時間:2022-05-11 23:48:00

① 怎樣通過java使用socks代理訪問伺服器

packagetest;

importjava.io.IOException;
importjava.util.Date;

importorg.apache.commons.httpclient.HttpClient;
importorg.apache.commons.httpclient.HttpException;
importorg.apache.commons.httpclient.UsernamePasswordCredentials;
importorg.apache.commons.httpclient.auth.AuthScope;
importorg.apache.commons.httpclient.methods.PostMethod;

publicclasstest
{
publicstaticvoidmain(Stringargs[])
{
HttpClienthc=newHttpClient();

System.out.println("開始時間:"+System.currentTimeMillis());
for(inti=0;i<=100;i++)
{

try
{
//每10秒才會保存一次
Thread.sleep(12000);
}catch(InterruptedExceptione1)
{
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
Dated=newDate();
PostMethodpm=newPostMethod(
"http://www.tongaichina.com/post.asp?type=int&name=click&time="
+d.getTime());
try
{

//這里寫代理地址及埠
hc.getHostConfiguration().setProxy("代理地址",埠);

//這里是用戶名與密碼
=(
"用戶名","密碼");
hc.getState().setProxyCredentials(AuthScope.ANY,creds);

hc.executeMethod(pm);
System.out.println(pm.getResponseBodyAsString());
}catch(HttpExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione)
{
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println(i);
}
System.out.println("結束時間:"+System.currentTimeMillis());
}
}

② java httpClients使用代理伺服器訪問第三方時需要雙向認證,但是認證不過,不使用代理就可以,請大神指點

那就不使用代理唄,不是更簡單

③ java 訪問不到本地的proxy

這個是 apache httpclient 的代碼
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope("localhost", 8080),
new UsernamePasswordCredentials("username", "password"));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider).build();
try {
HttpHost target = new HttpHost("www.verisign.com", 443, "https");
HttpHost proxy = new HttpHost("localhost", 8080);

RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
HttpGet httpget = new HttpGet("/");
httpget.setConfig(config);

System.out.println("Executing request " + httpget.getRequestLine() + " to " + target + " via " + proxy);

CloseableHttpResponse response = httpclient.execute(target, httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}

因為 不給發鏈接,你去 apache httpcomponents 的網站,找 httpclient ,example 裡面都有的

④ java爬蟲代理如何實現

爬蟲離不開的就是代理伺服器了,如果我們不用http來爬蟲,ip不更改的情況下,是很難進行的。當我們在使用爬蟲爬取網站資料,速度快,可以不知疲倦地連續工作。但是由於爬蟲軟體在訪問網站時,行為過於頻繁,遠超人力操作速度,就很容易被網站察覺,而封掉用戶的IP。
所以,使用爬蟲軟體時,為了防止IP被封,或者IP已經被封,還想用自己的IP訪問封了自己IP的網站時,就要用到代理IP了。http能夠對我們的ip地址進行更改,這一操作能夠有效減少了網站的ip限制的影響,對爬蟲是很有幫助的。Ipidea含有240+國家地區的ip,真實住宅網路高度匿名強力保護本地信息。

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

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

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


具體用法如下:

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動態代理實現步驟

您好,提問者:
1、可以使用apache開發的HttpClient.jar來實現。
2、如果純Java代碼,首先創建一個Proxy類來進行指定協議,比如:Proxy.HTTP,構造方法請見JDK API文檔,另外指定一個SocketAddress的ip和埠,一般http埠為80。
接下來就是訪問Http網站了,使用URL url = new URL("xxx");地址,然後使用HttpConnection對象,把Proxy指定進去就可以了。

⑦ 使用瀏覽器訪問一個url能正常訪問,但是通過java httpclient請求時卻總是超時,是怎麼回事啊

如果在區域網可以訪問那說明同區域網都是可以訪問的, 檢查一下你電腦是否開啟了防火牆, 開啟相關埠, 如果是超時了那麼檢查兩邊的網路是否正常, 能否ping通

⑧ 如何使用HttpClient

Http協議的重要性相信不用我多說了,HttpClient相比傳統JDK自帶的URLConnection,增加了易用性和靈活性(具體區別,日後我們再討論),它不僅是客戶端發送Http請求變得容易,而且也方便了開發人員測試介面(基於Http協議的),即提高了開發的效率,也方便提高代碼的健壯性。因此熟練掌握HttpClient是很重要的必修內容,掌握HttpClient後,相信對於Http協議的了解會更加深入。

一、簡介

HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,並且它支持HTTP協議最新的版本和建議。HttpClient已經應用在很多的項目中,比如Apache Jakarta上很著名的另外兩個開源項目Cactus和HTMLUnit都使用了HttpClient。

下載地址: http://hc.apache.org/downloads.cgi

二、特性

1. 基於標准、純凈的java語言。實現了Http1.0和Http1.1

2. 以可擴展的面向對象的結構實現了Http全部的方法(GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)。

3. 支持HTTPS協議。

4. 通過Http代理建立透明的連接。

5. 利用CONNECT方法通過Http代理建立隧道的https連接。

6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos認證方案。

7. 插件式的自定義認證方案。

8. 便攜可靠的套接字工廠使它更容易的使用第三方解決方案。

9. 連接管理器支持多線程應用。支持設置最大連接數,同時支持設置每個主機的最大連接數,發現並關閉過期的連接。

10. 自動處理Set-Cookie中的Cookie。

11. 插件式的自定義Cookie策略。

12. Request的輸出流可以避免流中內容直接緩沖到socket伺服器。

13. Response的輸入流可以有效的從socket伺服器直接讀取相應內容。

14. 在http1.0和http1.1中利用KeepAlive保持持久連接。

15. 直接獲取伺服器發送的response code和 headers。

16. 設置連接超時的能力。

17. 實驗性的支持http1.1 response caching。

18. 源代碼基於Apache License 可免費獲取。

三、使用方法

使用HttpClient發送請求、接收響應很簡單,一般需要如下幾步即可。

1. 創建HttpClient對象。

2. 創建請求方法的實例,並指定請求URL。如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。

3. 如果需要發送請求參數,可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;對於HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。

4. 調用HttpClient對象的execute(HttpUriRequest request)發送請求,該方法返回一個HttpResponse。

5. 調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取伺服器的響應頭;調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了伺服器的響應內容。程序可通過該對象獲取伺服器的響應內容。

6. 釋放連接。無論執行方法是否成功,都必須釋放連接

四、實例

[java] view plain 在CODE上查看代碼片派生到我的代碼片

本實例是採用HttpClient4.3最新版本。該版本與之前的代碼寫法風格相差較大,大家多留意下。

⑨ java httpclient 需要設置代理嗎

是否要代理,看使用的環境

~
~
~

閱讀全文

與javahttpclient代理相關的資料

熱點內容
手機號碼如何加密 瀏覽:424
沈陽程序員培訓學校 瀏覽:538
一般伺服器如何配置 瀏覽:895
圖片怎樣加密發郵件 瀏覽:619
萬虹電腦文件夾密碼忘記了怎麼辦 瀏覽:631
rc108單片機 瀏覽:867
戰雷如何改變伺服器 瀏覽:674
mactelnet命令 瀏覽:51
壓縮袋壓縮了拿出來 瀏覽:401
安卓手機相機怎麼設置許可權 瀏覽:121
美女程序員轉行做主播 瀏覽:671
辦理解壓房產 瀏覽:575
道路工程概論pdf 瀏覽:388
超棒數學速演算法大全 瀏覽:937
小米易語言登錄源碼 瀏覽:31
磚牆內加密鋼筋 瀏覽:992
鄉關何處pdf 瀏覽:84
小豬領贊小程序源碼 瀏覽:336
python曲線如何原路返回 瀏覽:431
pdf快速看圖破解版 瀏覽:294