gpt4 book ai didi

ssl - 我如何使用 Pharo 获取 Twitter 提要?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:59 25 4
gpt4 key购买 nike

由于 Twitter 改变了他们的网站设计,我无法使用内置的 Zinc 类从任何帐户获取一组推文。它会抛出一条错误消息:ConnectionClosed: Connection closed while waiting for data

我正在使用 Pharo 5,但我不知道如何调整 ZnClient 设置以保持连接打开或达到获取数据的目的。

testTwitter
| client |
self ensureSocketStreamFactory.
self isNativeSSLPluginPresent ifFalse: [ ^ self ].
(client := ZnClient new)
get: 'https://www.twitter.com/pharoproject'.
self assert: client isSuccess.
self assert: (client contents includesSubstring: 'Twitter').
client close

这是我进行的测试,它从未通过,并抛出上述错误。这里缺少什么?我使用 open-uri、openssl 和 Nokogiri 编写了一个 Ruby 脚本,它可以很好地获取推文。也许是 SSL 连接本身的问题?

最佳答案

这里的问题很容易回答,但你不会喜欢的。您的问题与 Twitter has deprecated support for TLS 1.0, TLS 1.1 on July 15/2019 的事实有关.您的 pharo 正在使用已弃用的 TLS 进行连接。这就是您超时的原因。

解决方案?

您必须自己编译新的 SSL/TLS 支持,这不是一件容易的事。您必须在至少 TLS 1.2 中编译才能再次连接。缺少如何编译对新库的支持的 Pharo 文档。我的猜测是您使用的是 TLS 1.0(请参阅下面的注释)- 因为 Pharo 6.1(因此您的 Pharo 5.x 将具有相同或更旧的库)已针对 libssl 编译了 libgit2.so .so.1.0.0(具有依赖项 libcurl-gnutls.so.4)- 如果您更新库,您可以 see那些支持 >= TLS 1.2。

注意事项:

这与我之前发布的问题有关。没有人投票或回答它,所以它被自动删除 - 你可以投票取消删除它:https://stackoverflow.com/questions/51399321/getting-error-when-adding-ossubprocess-to-my-pharo-6-1-on-centos-7-4x (请参阅帖子底部的问题)。我没有答案,因为我有专门的时间在我的 Smalltalk/X 项目上。

关于ssl - 我如何使用 Pharo 获取 Twitter 提要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com