3-urllib的post请求方式

本文详细介绍了如何使用Python的urllib库发送POST请求。通过一个具体的案例,演示了设置URL、构造请求头、编码data参数并发送请求的全过程。同时,文章还解释了urlencode编码的作用,并展示了如何读取响应数据并将其保存到本地。

在urllib 中,要进行post请求时,需传入相应的data值,这里通过http://www.iqianyue.com/mypost这个网站进行测试。

案例代码如下:

 1 #post 请求
 2 import urllib.request
 3 import urllib.parse
 4 base_url="http://www.iqianyue.com/mypost/"
 5 data={
 6     "name":"ceo@iqianyue.com",
 7     "pass":"aA123456"
 8 }
 9 headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE"}
10 postdata=urllib.parse.urlencode(data).encode('utf-8')
11 req=urllib.request.Request(url=base_url,headers=headers,data=postdata,method='POST')
12 response=urllib.request.urlopen(req)
13 html=response.read()
14 # html=response.read().decode('utf-8')  #这里讲解一下decode()是把bytes转化解码为了 str ,
15 # 但是写入文本的话,是不需要解码的,解码了str写不进去,
16 print(html)
17 
18 #把文件写入G盘
19 text=open('G:/post.html',"wb")
20 text.write(html)
21 text.close()

 

 

 

注意:对于需要传入的data 数据,需要进行urlencode编码。postdata=urllib.parse.urlencode(data).encode('utf-8')

转载于:https://www.cnblogs.com/jiyongjia/p/9523282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值