Python3中访问Https服务

在爬虫抓取网页数据的时候,会直接利用http模块来模拟浏览器访问URL。在Python3中对Http模块被封装到http.client中了。在http.client中有2个主要的类:HttpConnection和HttpsConnection。HttpConnection主要处理Http协议的URL,HttpsConnection用来处理Https协议的URL。由于Https采用SSL对数据进行加密,我们在与服务器建立连接时,需要制定我么的SSL协议,来获取服务器的公开密钥。简单代码如下:

from http.client import HTTPSConnection

import ssl

myhost ="yourserver"

ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23)

#建立连接,获取服务器的公开密钥

conn = HTTPSConnection(host=myhost, context=ctx)

#通过Http协议访问,我们需要访问的Https,并得到返沪的代码

#根据需要可以模拟https请求的header,cookie等

conn.request(method='GET', url='https://yourserver')

res = conn.getresponse()

print(res.read().decode('utf-8'))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容