2011-08-09 71 views
0

試圖訪問http://forum.worldoftanks.eu/index.php?app=members使用Apache HttpClient,但始終得到403。任何人都可以幫忙嗎? 被擺弄着這片爲起點:HttpClient拋出403

DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpRequestBase method = new HttpGet(theUrl); 
String s = httpClient.execute(method, new BasicResponseHandler());  
System.out.println(s); 
httpClient.getConnectionManager().shutdown(); 
+2

當我訪問一個網址,我得到「您沒有權限查看會員列表。」這大概是爲什麼你會得到403.你需要提供憑據... –

+2

403意味着未經授權訪問服務器。你需要一個有效的憑據來訪問鏈接 –

回答

0

我不認爲這是有關的HttpClient。我試過這個

$ wget http://forum.worldoftanks.eu/index.php?app=members 
--2011-08-08 23:17:52-- http://forum.worldoftanks.eu/index.php?app=members 
Resolving forum.worldoftanks.eu (forum.worldoftanks.eu)... 213.252.177.21, 213.2 
52.177.20 
Connecting to forum.worldoftanks.eu (forum.worldoftanks.eu)|213.252.177.21|:80.. 
. connected. 
HTTP request sent, awaiting response... 403 Forbidden 
2011-08-08 23:17:56 ERROR 403: Forbidden. 

沒有運氣。

然而,我可以在瀏覽器中打它。當沒有發送適當的瀏覽器標題時,可能會有某些服務器邏輯返回403s。我的下一步將是使用FireBug並嘗試在您的瀏覽器創建它時複製請求。

另外,嘗試捕捉exceptino

} catch (HttpResponseException e) { 
    System.err.println(e.response.parseAsString()); 
    } 
+0

我沒有嘗試(沒有運氣)'HttpContext context = new BasicHttpContext(); context.setAttribute(CoreProtocolPNames.USER_AGENT,「Mozilla/5.0(Windows NT 5.1; rv:5.0)Gecko/20100101 Firefox/5.0」); DefaultHttpClient httpClient = new DefaultHttpClient(); HttpRequestBase方法=新的HttpGet(PLAYER_URL_PREFIX); String s = httpClient.execute(method,new BasicResponseHandler(),context); httpClient.getConnectionManager()。shutdown(); System.out.println(s);' –

+0

我沒有瀏覽器w/firebug方便,但它看起來好像服務器正在返回與403的內容如果這是發生了什麼,導致庫引發異常。如果有響應主體,您可以嘗試打印響應主體。 – dfb

相關問題