使用 urllib 构造请求对象

(1) urllib.request.urlopen()方法可以实现最基本请求的发起,但这几个简单的参数并不足以构建一个完整的请求
(2) 我们可以使用 urllib.request.Request() 先构造一个请求对象,这个请求对象可以包含请求头信息,或者包含要向服务器传递的数据,然后再发送请求
(3) 语法:urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False,method=None)
(4) 其中 url 是要请求的URL,这是必传参数,其他都是可选参数;data 是要向服务器传递的数据,headers 用来构造请求头信息,method 用来指定请求方法

import urllib.parse
import urllib.request

url = "http://www.baidu.com/"

headers = {    //定义请求头信息,通常只定义 User-Agent,其他请求头信息可以通过 F12 界面查看
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
}

postdata = {   //定义要向服务器传递的数据
    'wd': 'hello',
}

data = bytes(urllib.parse.urlencode(postdata), encoding='utf8')                     //把要传递的数据转换成字节流编码格式
request = urllib.request.Request(url, data=data, headers=headers, method='POST')    //构造一个请求对象,指定使用POST方式发起请求
response = urllib.request.urlopen(request)                                          //最后再使用urlopen()发送请求对象
print(response.read().decode('utf-8'))

 

 

 

 

 

 

     

转载于:https://www.cnblogs.com/pzk7788/p/10531011.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值