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'))

你可能感兴趣的:(Python3中访问Https服务)