码迷,mamicode.com
首页 > Web开发 > 详细

网络编程之 urllib 模块

时间:2018-05-17 20:38:03      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:http   二进制格式   格式   pass   打开   htm   链接   结果   post   

首先urlib并不是一个很好用的方法,这里仅作简单介绍。一般我们用requests方法来代替urlib方法。

1. get请求

1 from urllib import request
2 url = http://www.baidu.com
3 req = request.urlopen(url)    #打开一个url,发送get请求
4 content = req.read().decode()    #读取源代码
5 fw = open(baidu.html,w,encoding=utf-8)
6 fw.write(content)

第1行:从urllib中导入request函数,也可以写成:import urllib.request

第2行:get请求的url链接,如果是在接口测试中,后面应带上参数,例如:http://api.xxxx.cn/api/user/stu_info?stu_name=xiaohei

第3行:打开url,发送get请求,获取到的是

第4行:读取源代码,直接读出来的是二进制格式,要进行解码

第5行:创建一个文件,以“w”模式

第6行:将读取的源代码写到baidu.html中

2. post 请求

1 from urllib import request,parse
2 url = http://api.xxxx.cn/api/login
3 data = {
4     username:xxxx,
5     passwd:xxxxxxxx
6 }    #请求数据
7 data = parse.urlencode(data)    #把字典变成了字符串:username=xxxx&passwd=xxxxxxx,拼好参数
8 req = request.urlopen(url,data.encode())    #传入的参数要byte类型
9 print(req.read().decode())

第1行:从urllib中导入request、parse函数

第2行:请求地址

第3行:post 入参,定义的data是字典格式

第7行:parse.urlencode()方法会把字典变成一个字符串,并且拼接成username=xxxxx&passwd=xxxxxx的格式。

第8行:传入的参数要转换成二进制格式

第9行:打印出post结果,要解码。

 

 

 
 

网络编程之 urllib 模块

标签:http   二进制格式   格式   pass   打开   htm   链接   结果   post   

原文地址:https://www.cnblogs.com/pengzhuopeng/p/9039124.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!