首先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结果,要解码。

 
 
 
 

最新文章

  1. zend studio(Eclipse)和PyDev搭建Python开发环境
  2. 基于KEIL4开发ARM9(S3C2440)的裸机程序
  3. ASP.NET Core (Database First)
  4. 性能测试工具 转自https://yq.aliyun.com/articles/35149?spm=5176.100239.blogcont35147.8.rsow6k
  5. rabbitMQ学习(七)反馈模式
  6. Ios学习之容器的理解
  7. iOS-上拉刷新,下拉加载-----------详解
  8. 将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m
  9. JS 中Promise 模式
  10. 无状态会话bean(3)---远程业务接口(没有排版)
  11. 第十一章 图像之2D(2)
  12. nginx正则匹配
  13. @JsonView的使用,entity中指定向前台返回哪些字段
  14. 南大算法设计与分析课程复习笔记(4)L4 - QuickSort
  15. bzoj 2038: [2009国家集训队]小Z的袜子(hose) (莫队)
  16. 如何解决错误0×80071AC3
  17. 【转】Linux下查看系统配置
  18. jQuery如何追加tr到table中任意位置--向Table中指定位置添加tr或td(jQuery)
  19. Python十分适合用来开发网页爬虫
  20. javascript快速入门1--JavaScript前世今生,HelloWorld与开发环境

热门文章

  1. QT控件使用--QPlainTextEdit
  2. 使用Libusb和hidapi测试HID设备
  3. Kubernetes--Pod生命周期中的重要行为
  4. vue2中底层响应式数据实现
  5. (0502)《UVM》sequence
  6. cpp chrono basic
  7. vue-cli2.0 项目前端不能用IP局域网访问,只能localhost访问
  8. charls抓包的乱码问题解决
  9. vue3导出功能
  10. shell—if + case条件语句