python - 如何将 pycurl 与 Twisted Python 结合使用?

标签 python curl twisted pycurl twisted.web

我正在使用 pycurl 编写一个应用程序,并且需要使其在 Twisted 中工作。我一直在寻找使 pycurl 以某种方式与 Twisted 框架兼容,或者使用现有的 Twisted 库。我建议使用 Twisted web,但是没有从 pycurl 到 Twisted web 的直接函数映射。有人能指出我正确的方向吗?

编辑:一种解决方案是在另一个线程中运行 pycurl,但最好,我希望使用非阻塞的 Twisted 框架或 pycurl,这样我就不必创建另一个线程。

最佳答案

对于任何阻塞函数,如果没有其他异步替代方案,Twisted 允许您在另一个线程上运行它,但将其视为 Deferred。

from twisted.internet import threads

d = threads.deferToThread(pycurl.some_function)
d.addCallback(callback)

请参阅 Generatin Deferreds 中的将阻止代码与 Twisted 集成 .

关于python - 如何将 pycurl 与 Twisted Python 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386589/

相关文章:

javascript - 如何使用 Flask 将数据从 JS 发送到 Python?

curl - Jenkins 无法 curl 到 docker 容器上的 http 端点主机

curl - 有什么方法可以使用curl查询多个文档以从_source提取字段值的elasticsearch吗?

Python 扭曲的 TCP/IP 连接

python - 类型字典

python - Selenium 远程连接拒绝使用 Python split

python - WxWidgets:仅使用模态时是否需要运行 MainLoop?

c++ - cURL 超时问题

python - 扭曲/执行异步http请求

python - 使用 twisted 检查 IRC channel 中的用户是 'voiced' 还是 'op'