2016-08-03 56 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