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

使用TwitterHBC-IOException在Java中阅读推文

姬和豫
2023-03-14

我需要根据特定的标签过滤器来阅读tweet,所以我用javahbc客户端试用了Twitter的流式api。首先,我尝试运行项目提供的示例代码,以便了解它是如何工作的。

所以我:

  1. 在twitter上声明一个应用程序生成了我的访问密钥、令牌和机密
  2. 已从下载项目包(https://github.com/twitter/hbc)
  3. 通过在示例项目pom中填写TODO字段来配置示例项目hbc示例。包含我的应用程序密钥、令牌和机密的xml文件(https://github.com/twitter/hbc/blob/master/hbc-example)
  4. 将示例项目hbc示例配置为在依赖项中同时使用hbc核心和hbc-twitter4j,以避免依赖项错误

但每次我与maven一起运行hbc示例时,我似乎总是得到:

(...)
[hosebird-client-io-thread-0] INFO com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 Establishing a connection
[hosebird-client-io-thread-0] WARN com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 IOException caught when establishing connection to https://stream.t
witter.com/1.1/statuses/filter.json?delimited=length&stall_warnings=true
[hosebird-client-io-thread-0] WARN com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 failed to establish connection properly
[hosebird-client-io-thread-0] INFO com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 Done processing, preparing to close connection
[hosebird-client-io-thread-0] INFO com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 Establishing a connection
[hosebird-client-io-thread-0] WARN com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 IOException caught when establishing connection to https://stream.t
witter.com/1.1/statuses/filter.json?delimited=length&stall_warnings=true
[hosebird-client-io-thread-0] WARN com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 failed to establish connection properly
[hosebird-client-io-thread-0] INFO com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 Done processing, preparing to close connection
[hosebird-client-io-thread-0] INFO com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 Establishing a connection
[hosebird-client-io-thread-0] WARN com.twitter.hbc.httpclient.ClientBase - hoseb
ird-client-0 IOException caught when establishing connection to https://stream.t
witter.com/1.1/statuses/filter.json?delimited=length&stall_warnings=true
(...)

当我使用FilterStreamSample类作为具有“main”函数的类运行hbc-例如时,也会发生这种情况

查看hbc核心源代码,异常似乎是由连接对象的connect(HttpUriRequest)函数引发的(请参阅:hbc master/src/main/java/com/twitter/hbc/httpclient/Connection)

关于httpclient异常的Apache文档并没有提供多少关于如何处理此错误的线索,我想知道这里是否有我遗漏的东西,Twitter流式API的更改阻止了我的代码运行,任何。。。

感谢您的任何帮助或建议!

ps 1:只是为了信息,连接(HttpUriRequest请求)是

  • 调用ClientBase.establish连接(连接控制,HttpUriRequest请求)
  • 在ClientB中被称为ase.run()
  • 在BasicClient.connect()中被称为
  • 由main调用

诗2:我的问题可能与这个尚未解决的问题相似: /questions/26363005/twitter-streaming-w-status-code-401

共有1个答案

苗盛
2023-03-14

我回答得太晚了,但可能对其他人有用。实际上,这个问题似乎是由于缺乏配置的代理主机和端口,如果您的网络被配置为使用任何类型的代理.如果一些如何您可以浏览代码和设置代理主机和端口的网络,这个问题会得到解决。

注:我发现twitter流媒体api非常简单易用,但是如果你使用的是像workplace等配置了代理的网络,别忘了配置代理设置。

_configurationBuilder是twitter4j的类型。conf.ConfigurationBuilder\u ConfigurationBuilder。setHttpProxyHost(“您的代理主机”)_配置生成器。setHttpProxyPort(您的代理端口号);

如果你错过了它,你会在收听信息时收到一些twitterException,而在谷歌搜索时也不会得到任何信息。

 类似资料:
  • 问题内容: 阅读网页时,我经常收到“过早的EOF”异常。 以下是StackTrace 以下是getPage()方法 什么是持久性EOFException?为什么在这种特殊情况下会发生这种情况?如何避免呢? 其他一些信息:正在读取的页面大小约为20 KB,并且我正在程序中读取许多此类页面(大约20 000) 问题答案: 这可能是因为您正在逐行读取内容,而对于最后一行,文件可能缺少返回值以表示行结束。

  • 推荐阅读 David Goodger的 Code Like a Pythonista: Idiomatic Python 包含了很多实用的Python例子和技术。 Doug Hellmann的 Python Module of the Week 系列的重点是建设一个使用Python标准库中的模块的示例代码的仓库。

  • 文档资料 必须 熟记 Laravel 5.5 官方文档,查阅时能快速定位,5 遍以上; 必须 熟记 Laravel 5.5 API 文档 的类结构,查阅时能快速定位; 必须 熟记所有 PSR 通过的标准; PSR 目前还未通过的标准,也要 应该 知晓 http://www.php-fig.org/psr/ 应该 熟悉 PHP 最佳实践 应该 了解 『Rails 信条』 教程 如果你是新手,想从零开

  • 关于react生命周期相关的介绍 React.Component components组件思想使得你在开发用户页面的时候,把界面看成是一个个独立、可重用的子块,并且每个块都是隔离于其它板块的。React.Component是React上提供的一个方法! Overview React.Component是一个抽象基础类,我们很少直接提伦它,相反,我们更倾向于关心它的子类,我们在定义组件的时候,最少应

  • 我有以下代码来读取java文件,并打印出行。我通过两种方式实现了它: 使用流: 使用循环: 我被告知这是错误的,使用缓冲读取器是错误地使用了语言的特性。有没有更好的方法,我想知道使用语言功能的正确方法。

  • 我需要你的帮助:我必须读卡与RFID阅读器,在我的java应用程序。最后,当我点击按钮“Attributer Numéro RFID”时,它会读取我的RFID阅读器(型号:OCS ACRurw),然后将十六进制值插入jtextfield文本区域。(一开始,jTable会得到我数据库中每个用户的姓和名。这是我项目的代码。如果有人知道我点击“Attributer Numéro RFID”按钮时如何读取