在爬虫抓取网页数据的时候,会直接利用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,并得到返回的代码 #根据需要可以模拟<a href="https://www.gaodaima.com/tag/https" title="查看更多关于https的文章" target="_blank">https</a>请求的header,cookie等 conn.request(method='GET', <a href="https://www.gaodaima.com/tag/url" title="查看更多关于url的文章" target="_blank">url</a>='https://yourserver') res = conn.getresponse() print(res.read().decode('utf-8'))
www#gaodaima.com来源gaodai$ma#com搞$代*码*网搞代码
搞代码网,免费的在线学习python平台,欢迎关注!
来源:搞代码网:原文地址:https://www.gaodaima.com