Java 为什么在尝试打开URL时会出现403错误

Java 为什么在尝试打开URL时会出现403错误,java,api,imdb,Java,Api,Imdb,我目前正在使用来自的imdb api获取有关电影的一些信息。当我使用API并试图用java打开它时,它会给我一个403错误。url应该返回JSON格式的数据。 以下是我到目前为止的代码(Java 7): 您应该设置用户代理: System.setProperty("http.agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/5

我目前正在使用来自的imdb api获取有关电影的一些信息。当我使用API并试图用java打开它时,它会给我一个403错误。url应该返回JSON格式的数据。 以下是我到目前为止的代码(Java 7):


您应该设置
用户代理

System.setProperty("http.agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/537.36"); 


这确实很奇怪,因为这个URL对我有效。是的,就是这样:从命令行执行类似于
curl-v--user-agent“Java/1.6.014”的操作http://imdbapi.org/?q=batman
出现403禁止错误,HTML正文是该网站(imdbapi.org)的所有者已基于浏览器的签名禁止您访问。
System.setProperty("http.agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/537.36"); 
URLConnection connection = url.openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.29 Safari/537.36");
is = connection.getInputStream();