2012-04-07 70 views
0

我嘗試寫一個客戶端服務器程序,在我的程序,每一輪,客戶端發送兩個String到服務器,第一個是網絡地址和第二個約user.but一些隨機的信息時,URL地址到達服務器,我得到這個異常:HTTP響應代碼:403客戶端發送一個URL地址時,服務器

Exception in thread "main" java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.com.hk/search?hl=en&source=hp&q=java&gbv=2 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1245) 
    at java.net.URL.openStream(URL.java:1009) 
    at server.Server.processClient(Dom.java:124) 
    at server.Server.run(Dom.java:90) 
    at server.Server.main(Dom.java:155) 
Java Result: 1 

,但我不知道爲什麼得到一個禁止訪問響應。

客戶端

   private static BufferedWriter toServer; 
.... 

    public void progressUpdated(NavigatorProgressEvent npe) { 



      Matcher matcher = pattern.matcher (npe.getUrl().toString()); 


      if (matcher.matches()) 
         { 
       System.out.println(npe.getUrl()); 
         toServer.println(npe.getUrl().toString()); 


           } 

服務器端

... 
    url = new URL(fromClient.readLine()); 

....

+0

請把你的源代碼了。 – dash1e 2012-04-07 05:04:27

+0

@ dash1e查看更新 – lonesome 2012-04-07 05:08:30

回答

0

也許你在你的頭的請求錯過 「用戶代理」。

嘗試添加以下代碼:如果沒有指定用戶代理名

httpUrlConnection.setRequestProperty("User-Agent","MyUserAgentName"); 

谷歌沒有迴應。並且儘量選擇一個良好的用戶代理名:d

+0

這是什麼?你能解釋一下嗎? – lonesome 2012-04-07 05:07:56

+0

你使用'HttpUrlConnection'嗎? – dash1e 2012-04-07 05:09:39

+0

是我,因爲你可以在堆棧跟蹤看到以及添加 – lonesome 2012-04-07 05:11:41

相關問題