2016-08-03 50 views
1

我想檢索該流從Meetup網站的數據讀取 - http://stream.meetup.com/2/open_events錯誤403試圖在從公共流

,但我一直用下面

URL meetupStream = new URL("http://stream.meetup.com/2/open_events"); 
BufferedReader in = new BufferedReader(new InputStreamReader(meetupStream.openStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null){ 
     System.out.println(inputLine); 
} 
in.close(); 

流的代碼得到錯誤403不需要任何驗證,並且可以在瀏覽器中正常顯示

任何想法可能會導致這樣的錯誤?

回答

1

一些網絡服務器抱怨說,如果你的請求看起來太暗淡,可能是因爲他們認爲它是由機器產生的?通常情況下,他們可以通過發送的標題來判斷這應該已經這樣做了:

URLConnection connection = new URL("http://stream.meetup.com/2/open_events"). 
           openConnection(); 
    connection.setRequestProperty("User-Agent", "Lynx"); 
    connection.connect(); 
    BufferedReader in = new BufferedReader(new InputStreamReader(
    connection.getInputStream())); 
    String inputLine; 
    while ((inputLine = in.readLine()) != null){ 
     System.out.println(inputLine); 
    } 
    in.close(); 
+0

那是因爲我沒有發送任何頭文件? –

+1

是的,那很可能。但是,另一種標題類型可能無法使其工作。要100%確定,您需要深入瞭解服務器實施。 – Matt