Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1888338
  • 博文数量: 334
  • 博客积分: 2907
  • 博客等级: 中校
  • 技术积分: 2097
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-12 09:16
文章分类

全部博文(334)

文章存档

2019年(5)

2018年(57)

2016年(2)

2015年(27)

2014年(33)

2013年(193)

2011年(3)

2010年(14)

分类: 系统运维

2018-12-28 17:19:44

一、背景说明

由于python3的urllib与python2有不少差别,而且urllib.request请求的一些写法不太符合人的思维习惯(文档也相当难看)

所以搞得真不太想用python,直到看urllib.request文档时注意到下边这句话

比较起来requests确实比较好用,文档也当清晰;虽然requests不属于标准库需要自己额外安装一下,但仍比较推荐使用。

 

1.1 适用版本

适用于python2.6、python2.7、python3.4及以上版本,参见官方说明

我这里使用的是当前最新的python3.7。

 

1.2 安装requests模块

复制代码
pip install pipenv
pipenv install requests
复制代码

 

二、使用requests模块完成各种操作

下边对于https的链接请求时会带上”verify=False“参数,因为默认Python会进行证书校验如果不是信任的证书会报错,带上”verify=False“指示不进行证书校验。

 

2.1 引用requests模块

import requests

 

2.2 get请求

复制代码
import requests

url='https://www.baidu.com' r = requests.get(url,verify=False) print(r.status_code)
复制代码

 

2.3 post请求

复制代码
import requests

url='https://www.baidu.com' data_post='just put your data and use original format' r = requests.post(url,data=data_post,verify=False) print(r.status_code)
复制代码

 

2.4 使用代理

复制代码
import requests

url='http://docs.python-requests.org/en/master/' proxies={ 'http':'127.0.0.1:8080', 'https':'127.0.0.1:8080' }
r = requests.get(url,proxies=proxies) print(r.status_code)
复制代码

 

 

2.5 自定义header

复制代码
import requests

url='http://docs.python-requests.org/en/master/' headers={ 'User-Agent':'self-defind-user-agent', 'Cookie':'name=self-define-cookies-in header' }
r = requests.get(url,headers=headers) print(r.status_code)
复制代码

 

 

2.6 自定义Cookie

实验发现如果自定义header中定义了cookies那么此处设置的cookies不生效

复制代码
import requests

url='http://docs.python-requests.org/en/master/'
cookies={'name1':'cookie1','name2':'cookies2'}
#cookies=dict(name1='cookie1',name2='cookies2')
r = requests.get(url,cookies=cookies)
print(r.status_code)
复制代码

阅读(1996) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册