2016-08-03 9 views
1

Ich versuche, die Daten dieses Stroms von Meetup abrufen - http://stream.meetup.com/2/open_eventsFehler 403 bei dem Versuch, von Public-Stream zu lesen

aber ich erhalte immer Fehler 403 den Code unten

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(); 
mit

Der Strom benötigt keine Authentifizierung und kann normalerweise in einem Browser gesehen werden

Irgendwelche Ideen, was könnte einen solchen Fehler verursachen?

Antwort

1

Einige Webserver beschweren sich, wenn Ihre Anfrage zu düster aussieht, weil sie denken, dass sie von Maschinen generiert wurde? Normalerweise können sie anhand der von Ihnen gesendeten Header erkennen. Dies sollte es schon tun:

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

So ist es, weil ich nichts als Header schickte? –

+1

Ja, das ist sehr wahrscheinlich. Ein anderer Header-Typ funktioniert jedoch möglicherweise nicht. Um 100% sicher zu sein, benötigen Sie einen Einblick in die Serverimplementierung. – Matt

Verwandte Themen