使用Java访问Reddit .json页面时,HTTP 429 Too Many请求

时间:2015-06-23 02:15:45

标签: java json api reddit http-status-code-429

当我尝试使用Java使用.json扩展名访问任何Reddit页面时,我收到HTTP 429 Too Many Requests响应。

我正在使用找不到here的Java代码而没有任何修改(除了更改目标URL)。我正在尝试访问以下网址:

我可以使用浏览器轻松访问这些页面,但无法以编程方式访问它们,尽管我每次都要发出一个请求并在其间等待。 Reddit returns this message when more than 30 requests are made in a minute,但我的收入远不如此,我的网络中没有其他人使用Reddit。

有人熟悉这个,为什么我可能会收到这些错误?有没有更好的方法来使用Java来解决这个问题?

1 个答案:

答案 0 :(得分:5)

确保使用自定义用户代理字符串 - 请参阅API规则的第4个要点:

  
      
  • 将客户端的用户代理字符串更改为唯一且具有描述性的内容,包括目标平台,唯一应用程序标识符,版本字符串和用户名作为联系信息,格式如下: / p>

    <platform>:<app ID>:<version string> (by /u/<reddit username>)
    
         
        
    • 示例:

      User-Agent: android:com.example.myredditapp:v1.2.3 (by /u/kemitche)
      
    •   
    • 许多默认用户代理(例如&#34; Python / urllib&#34;或&#34; Java&#34;)受到严重限制(强调我的)以鼓励独特和描述性用户代理字符串。

    •   
    • 包含版本号并将其更新为您的应用程序,您的应用程序允许我们安全地阻止您的应用程序的旧错误/损坏版本。
    •   
    • 永远不要骗你的用户代理。这包括欺骗流行的浏览器和欺骗其他机器人。我们将禁止极端偏见的骗子。
    •   
  •