我试图通过hbc-twitter4j-v3获得tweets。示例代码为:https://github.com/twitter/hbc/blob/master/hbc-example/src/main/java/com/twitter/hbc/example/Twitter4jSampleStreamExample.java
为了在代理上启用身份验证,我还为主机、端口和身份验证设置了系统属性。但它显示出以下错误-
[main]info com.twitter.hbc.httpclient.basicclient-执行的新连接:hosebird-client-0,端点:/1.1/statuses/sample.json?delimited=长度和暂停警告=true
[hosebird-client-io-thread-0]信息com.twitter.hbc.httpclient.clientbase-hosebird-client-0建立连接
[main]info com.twitter.hbc.httpclient.basicclient-正在停止客户端:hosebird-client-0,终结点:/1.1/statuses/sample.json?delimited=长度和暂停警告=true
[主]信息COM.Twitter .HBCHTTPclicli.clitBase- HoeBooDelclie0退出事件-由用户停止:等待5000毫秒
[main]warn com.twitter.hbc.httpclient.clientbase-hosebird-client-0客户端线程未能在5000毫秒内完成
[main]info com.twitter.hbc.httpclient.basicclient-成功停止客户端:hosebird-client-0,终结点:/1.1/statuses/sample.json?delimited=长度和暂停警告=true
[hosebird-client-io-thread-0]warn com.twitter.hbc.httpclient.clientbase-hosebird-client-0未知主机-stream.twitter.com
[hosebird-client-io-thread-0]warn com.twitter.hbc.httpclient.clientbase-hosebird-client-0未能正确建立连接
[hosebird-client-io-thread-0]info com.twitter.hbc.httpclient.clientbase-hosebird-client-0已完成处理,正在准备关闭连接
[hosebird-client-io-thread-0]info com.twitter.hbc.httpclient.clientbase-hosebird-client-0正在关闭httpclient连接管理器
有什么帮助吗?是吗?
提前谢谢

最佳答案

希望我没有忽视一些事情,但这就是它在我看来…
如果设置属性是指http.proxy*属性,我认为它不会工作,因为hosebird客户机使用的是apache的http客户机,而hosebird客户机似乎并不使用它们。
粗略地看一下代码,尤其是ClientBuilder,它看起来不像hbc支持代理配置-也许他们有充分的理由不需要或只是不需要这个特性本身,也许可以尝试请求它?
看起来使用代理的方法之一是adding it to the HttpClient object,例如:

HttpParams params = ...
HttpHost proxy = new HttpHost(hostname, port);
params.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

虽然HttpParams对象在任何地方都不公开,但您可以潜在地扩展HttpParams以提供代理配置。如果查看ClientBuilder方法,可以看到ClientBuilder#build()对象的设置位置。祝你好运!
编辑:另外,这个issue表示没有计划在hbc中直接添加代理支持。

07-27 19:11