windows10下使用pyopenssl, pycurl 访问https网站(python)




windows10下使用pyopenssl, pycurl 访问https网站(python)



    python初学者, 想做一个爬虫, 开始时是爬http的网站, 后来发现那个网站有点恶心, 就改为爬他的https网站版本, 所以就学习下怎么用python访问https网站

    刚开始时, 以为urllib可以访问https网站, 后来经过实践和资料的查询, 发现这是不支持的. 资料推荐我使用pycurl库.

    本以为就只需下载pycurl (下载链接看文章最下面) 就好了, 结果发现win10下pycurl-7.21.5.win32-py2.7.exe版本竟然有问题, 体现在perform()不会返回直到超时, 后来重新下载pycurl-7.19.5.1.win32-py2.7.exe就可以使用了, 但是此时发现只能访问http网站,  如果访问https网站会提示如下错误:

     c.perform() pycurl.error: (35, 'schannel: next InitializeSecurityContext failed: Unknown error (0x80092012)


     后来上pycurl官网看帮助文档(看下面  "pucurl安装官方文档"  链接)  ,  才大概感觉到需要安装pyopenssl库才可以让pycurl访问https网站 ( 关于这点, 网上没有类似说法, 都说pycurl可以直接访问, 但是在我系统win10x64上, 的确安装pyopenssl才可以访问https网站).

     所以就用pip工具下载pyopenssl库, 使用命令如下: pip install pyopenssl. 

     PS: 关于pip的使用请看

     Python: 删除已安装的模块或包 及 python工具pip的安装和使用            

     http://blog.csdn.net/guyue35/article/details/51337513

     

     安装完成pyopenssl和pycurl库后, 的确可以访问https网站了. 使用如下简单代码

#coding:utf-8
import pycurl
url = 'https://www.douban.com/'
c = pycurl.Curl()
c.setopt(c.URL, url)
# Follow redirect.
c.setopt(c.FOLLOWLOCATION, True)
c.perform()
c.close()
exit()

     并且在使用中发现, pycurl库访问https网站时候, 不能被HTTP Debugger Pro工具所捕抓到, 而访问http网站就可以捕抓到.

     且pycurl使用时候有时候会出现如下错误, 但是再一次运行, 就不报错, 且成功访问https网站. 原因不解.

     c.perform() pycurl.error: (35, 'schannel: next InitializeSecurityContext failed: Unknown error (0x80092012)



python库的下载地址

PyPI - the Python Package Index : Python Package Index  

https://pypi.python.org/pypi


python库中搜索pycurl的结果

Index of Packages Matching 'pycurl' : Python Package Index  

https://pypi.python.org/pypi?%3Aaction=search&term=PycURL&submit=search


我机子win10x64下可用的pycurl版本

pycurl 7.19.5.1 : Python Package Index  

https://pypi.python.org/pypi/pycurl/7.19.5.1


pucurl官网

PycURL Home Page  

http://pycurl.io/


pucurl安装官方文档

PycURL – A Python Interface To The cURL library — PycURL 7.43.0 documentation  

http://pycurl.io/docs/latest/index.html#installation



找到的其他资料

Windows10下安装OpenSSL_Windows_第七城市  

http://www.th7.cn/system/win/201603/154741.shtml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值