当前位置: 首页 > 知识库问答 >
问题:

Jsoup、Reddit、OAuth2和429 HTTP错误

王凌
2023-03-14

因此,我正在尝试为我运行的一个小的subreddit编写一个可执行JAR。

我有一篇文章,Jsoup连接并读取了该页面上的所有URL。在另一种方法中,它然后连接到所有这些URL(只是帖子上的注释),并从注释中获取HTML并将其保存到HashMap。

这很好,但是我收到429 HTTP错误。因此,为了解决这个问题,我添加了一个短短的5秒等待。现在我得到一个套接字超时异常“读取超时”。一旦我将时间降低到3秒,我就在两者之间蹦蹦跳跳。

现在,我用Python运行了几个Reddit机器人,我能够发出比现在更多的请求。实际上,我有一个每分钟发出数千个请求的机器人。所以我知道提出这些要求是可能的。

我的问题基本上是,我如何能够向Reddit发出多个请求并避免429 HTTP错误?我正在使用 Jsoup 来连接和读取 HTML。

他们的OAuth2 API将解决这些问题,我不知道如何在Java中实际使用OAuth2(我实际上在Python中使用包装器,所以公平地说,我根本不知道),我不知道如何在J汤中使用它。

共有2个答案

勾向文
2023-03-14

只需设置标题,您就可以轻松通过它

User-Agent: super happy flair bot by /u/spladug
勾岳
2023-03-14

我的问题基本上是,我如何能够向Reddit发出多个请求并避免429 HTTP错误?

你自己回答:

虽然我确定通过连接到Reddit。他们的OAuth2 API将修复这些问题,

正如API文档中所规定的,如果使用OAuth进行身份验证,每秒钟可以收到两倍的请求。

你有没有寻找过如何在Java中处理OAuth流的例子?

您可能还会发现使用其中一个包装器库来Java更容易,而不是自己处理所有这些。

 类似资料:
  • 这是 reddit 官方网站的历史源代码。

  • 因此,我尝试使用jsoup来刮除图像的Reddit,但当我刮除某些子Reddit(如/r/wallpaper)时,我遇到了一个429错误,我想知道如何修复它。完全理解这段代码很糟糕,这是一个很普通的问题,但我对此完全陌生。无论如何:

  • 问题内容: 我正在尝试创建一个应用程序,以从站点的多个页面上抓取内容。我正在使用JSoup进行连接。这是我的代码: 在大多数情况下,一切正常。但是,我想做一些事情。 首先,有时会返回404状态,或者会返回500状态,可能会返回301状态。在下面的代码中,它将仅打印错误并移至下一个URL。我想做的是尝试能够返回所有链接的url状态。如果页面连接,则打印200,否则打印相关的状态码。 其次,有时我会遇

  • 如果用户单击“允许”,应用将从 Reddit 接收授权代码,以便它可以向 Reddit API 发出 API 请求。从上面可以看出,将用户导航到上方页面的URL适用于桌面chrome浏览器。然而,在Android模拟器中,我可以从网络视图看到reddit上的加载页面,但是网络视图突然在Logcat上出现以下错误: “访问位于'的XMLHttpRequest”https://events.reddi

  • 问题内容: 我正在尝试将JSoup与ColdFusion结合使用以清理一些HTML,但是遇到以下错误: 找不到addTags方法。 要么没有指定方法名称和参数类型的方法,要么addTags方法被ColdFusion无法可靠解密的参数类型重载。ColdFusion找到了0个与提供的参数匹配的方法。如果这是Java对象,并且您已验证该方法存在,请使用javacast函数来减少歧义。 我的代码如下: 我

  • JSoup-1.8.1 尝试{ Document Document=Jsoup.connect(url.get(); 返回Document.getElementsByTag(“title”).text(); }catch(异常e){ System.out.println(e); 返回null; } org.jsoup.HttpStatusExc0019: HTTP错误获取URL。状态=404, U