# coding=utf-8
import requests
# 1 基本请求
r1 = requests.post('http://httpbin.org/post')
r2 = requests.get('http://httpbin.org/put')
r3 = requests.delete('http://httpbin.org/delete')
r4 = requests.head('http://httpbin.org/get')
r5 = requests.options('http://httpbin.org/get')
# 2 基本get请求
r6 = requests.get('http://httpbin.org/get')
# 如果想要加参数,可以利用params参数
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('http://httpbin.org/bin', params=payload)
print r.url
# # 如果想请求JSON,可以利用json()方法解析
# r7 = requests.get(r'D:\Python\Python_Program\Python_Spider\3_practice\a.json')
# print r7.text
# print r7.json()
# 如果想添加headers,可以传headers参数
headers = {'content-type': 'application/json'}
r8 = requests.get('http://httpbin.org/get', params=payload, headers=headers)
print r8.url
# 3 基本POST请求
# 对于POST请求,通过data参数传递
r9 = requests.post('http://httpbin.org/post', data=payload)
print r9.text
# 4 成功向服务器发送cookies
url = 'http://httpbin.org/cookies'
cookies = dict(cookies_are='working')
r10 = requests.get(url, cookies=cookies)
print r10.text
# 5 超时配置
# 利用timeout变量来配置最大请求时间
requests.get('http://github.com', timeout=0.001)
# 6 会话对象
# 在以上的请求中,每次请求都相当于发起了一个新的请求
# 比如
requests.get('http://httpbon.org/cookies/set/sessioncookie/123456789')
r11 = requests.get('http://httpbin.org/cookies')
print r.text
# 结果是
# {
# "cookies": {}
# }
# 在一些站点中我们需要保持一个持久的会话:
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r12 = s.get('http://httpbin.org/cookies')
print r12.text
# 结果是
# {
# "cookies": {
# "sessioncookie": "123456789"
# }
# }
# 这里我们请求了两次,一次是设置cookies 一次是获得cookies
# 7 SSL证书验证
# 12306的证书经验证是无效的,想跳过证书验证将verify的参数设置为False
r13 = requests.get('https://kyfw.12306.cn/otn/', verify=True)
print r13.text
# github的证书验证
r14 = requests.get('https://github.com', verify=True)
print r14.text
# 8 代理
proxies = dict(https='http://41.118.132.69:4433')
r15 = requests.post('http://httpbin.org/post', proxies=proxies)
print r15.text
# 也可以通过环境变量HTTP_PROXY和HTTPS_PROXY来配置代理
Python——requests库
最新推荐文章于 2025-07-09 17:15:59 发布
