我正在尝试通过以下方式安装pycurl:
sudo pip install pycurl
Run Code Online (Sandbox Code Playgroud)
它下载得很好,但是当它运行setup.py时,我得到以下回溯:
Downloading/unpacking pycurl
Running setup.py egg_info for package pycurl
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/tmp/pip-build-root/pycurl/setup.py", line 563, in <module>
ext = get_extension()
File "/tmp/pip-build-root/pycurl/setup.py", line 368, in get_extension
ext_config = ExtensionConfiguration()
File "/tmp/pip-build-root/pycurl/setup.py", line 65, in __init__
self.configure()
File "/tmp/pip-build-root/pycurl/setup.py", line 100, in configure_unix
raise ConfigurationError(msg)
__main__.ConfigurationError: Could not run curl-config: [Errno 2] No such file or directory
Complete output from command python setup.py egg_info:
Traceback (most recent …Run Code Online (Sandbox Code Playgroud) 我正在尝试导入pycurl:
$ python -c "import pycurl"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: libcurl.so.4: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
现在,libcurl.so.4位于/ usr/local/lib中.如您所见,这是在sys.path中:
$ python -c "import sys; print(sys.path)"
['', '/usr/local/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg',
'/usr/local/lib/python25.zip', '/usr/local/lib/python2.5',
'/usr/local/lib/python2.5/plat-linux2', '/usr/local/lib/python2.5/lib-tk',
'/usr/local/lib/python2.5/lib-dynload',
'/usr/local/lib/python2.5/sitepackages', '/usr/local/lib',
'/usr/local/lib/python2.5/site-packages']
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我试图使用pip在virtualenv中安装pycurl,我收到了这个错误
ImportError: pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)
Run Code Online (Sandbox Code Playgroud)
我读了一些文档,说"为了解决这个问题,你需要告诉setup.py使用什么SSL后端" (来源),虽然我不知道怎么做,因为我用pip安装了pycurl.
使用pip安装pycurl时如何指定SSL后端?
谢谢
好的,我需要使用Python下载一些网页,并快速调查我的选项.
包含在Python中:
urllib - 在我看来,我应该使用urllib2代替.urllib没有cookie支持,只有HTTP/FTP /本地文件(没有SSL)
urllib2 - 完整的HTTP/FTP客户端,支持最需要的东西,如cookie,不支持所有HTTP动词(只有GET和POST,没有TRACE等)
功能齐全:
机械化 - 可以使用/保存Firefox/IE cookie,采取跟随第二个链接的行动,积极维护(2011年3月发布0.2.5)
PycURL - 支持curl所做的一切(FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP),坏消息:自2008年9月9日起未更新(7.19.0)
新的可能性:
urllib3 - 支持连接重用/池和文件发布
不推荐使用(也就是使用urllib/urllib2):
httplib - 仅限HTTP/HTTPS(无FTP)
httplib2 - 仅限HTTP/HTTPS(无FTP)
让我印象深刻的第一件事是urllib/urllib2/PycURL/mechanize都是非常成熟的解决方案,效果很好.机械化和PycURL附带了许多Linux发行版(例如Fedora 13)和BSD,所以安装通常不是问题(所以这很好).
urllib2看起来不错,但我想知道为什么PycURL和机械化看起来都非常受欢迎,是否有一些我缺少的东西(即如果我使用urllib2,我会在某个角落将自己画到一个角落?).我真的很喜欢这些事情的优点/缺点的反馈,所以我可以为自己做出最好的选择.
编辑:在urllib2中添加了关于动词支持的注释
我试图在python脚本中执行curl命令.
如果我在终端中这样做,它看起来像这样:
curl -X POST -d '{"nw_src": "10.0.0.1/32", "nw_dst": "10.0.0.2/32", "nw_proto": "ICMP", "actions": "ALLOW", "priority": "10"}' http://localhost:8080/firewall/rules/0000000000000001
Run Code Online (Sandbox Code Playgroud)
我已经看过要使用的建议pycurl,但我无法弄清楚如何将它应用到我的.
我试过用:
subprocess.call([
'curl',
'-X',
'POST',
'-d',
flow_x,
'http://localhost:8080/firewall/rules/0000000000000001'
])
Run Code Online (Sandbox Code Playgroud)
它有效,但还有更好的方法吗?
寻求将JSON API调用集成到Python程序中的一些帮助.
我希望将以下API集成到Python .py程序中,以允许它被调用并打印响应.
API指南规定必须生成承载令牌以允许调用API,这是我成功完成的.但是,我不确定在Python API请求中将此令牌包含为承载令牌身份验证的语法.
我可以使用包含令牌的cURL成功完成上述请求.我试过"urllib"和"请求"路线但无济于事.
完整的API详细信息:IBM X-Force Exchange API文档 - IP信誉
请求库如何与PyCurl性能明智地进行比较?
我的理解是Requests是urllib的python包装器,而PyCurl是libcurl的python包装器,它是本机的,所以PyCurl应该会获得更好的性能,但不确定多少.
我找不到任何比较基准.
我对python很新.我使用libcurl没有问题,过去使用过pyCurl一次.现在我想在我的机器和dev上进行设置.但是我不知道该怎么做.我宁愿不使用DL libcirl文件并与pycurl一起编译,我想知道最简单的方法.我的机器上安装了libcurl.
我在Windows上,我尝试DLing源和使用pycurl安装脚本,我没有运气.
我正在尝试编写pycurl脚本来访问安全站点(HTTPS).
c = pycurl.Curl()
c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0')
c.setopt(pycurl.URL, 'https://for-example-securedsite')
c.setopt(pycurl.COOKIEFILE, 'cookie.txt')
c.setopt(pycurl.COOKIEJAR, 'cookies.txt')
c.setopt(pycurl.WRITEDATA, file("page.html","wb"))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误..
pycurl.error:(60,'SSL证书问题,验证CA证书是否正常.详细信息:\nerror:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败')
代码失败,因为它无法获得SSL证书.
如果我将以下行添加到我的代码中,则错误消失了.
c.setopt(pycurl.SSL_VERIFYPEER, 0)
c.setopt(pycurl.SSL_VERIFYHOST, 0)
Run Code Online (Sandbox Code Playgroud)
上面的代码将跳过证书验证.但它遭受了"中间人"攻击.
我知道我在本地证书库中有SSL证书.有谁知道如何导出我的证书并使用它我的代码..一些示例代码将是真棒..
谢谢你的时间!
pycurl ×10
python ×10
curl ×4
libcurl ×2
python-2.7 ×2
benchmarking ×1
ibm-cloud ×1
install ×1
installation ×1
mechanize ×1
performance ×1
pip ×1
ssl ×1
urllib2 ×1
virtualenv ×1