python requests库基础用法

import requests


# Requests 继承了urllib2的所有特性。
# Requests支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,
# 支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码
# 安装方式: pip install requests或easy_install requests

#不保存cookie请求
req = requests.get('https://www.baidu.com')  #请求百度首页
#resp=requests.request('get','https://www.baidu.com')   #同上

# 创建session对象,可以保存Cookie值,Session()是基于requests封装的
session = requests.Session()
loginurl = 'http://xxxx'
header = {'content-type': 'application/json; charset=UTF-8'}
#代理(proxies参数), 通过为任意请求方法提供 proxies 参数来配置单个请求
proxies = {
  "http": "http://111.111.111.111:1111",
  "https": "https://222.222.222.222:2222",
}

#请求数据格式为json, 如果为formdata则为data
json = {'username':'xxx','password':'xxx'}
#请求方法可添加proxies参数
resp = session.post(loginurl, json=json, headers=header)
print(resp)
print(resp.status_code)
print(resp.raise_for_status())      #失败请求(非200响应)抛出异常
print(resp.json())
print(resp.text)        #返回的是Unicode格式的数据
print(resp.content)     # 查看响应内容,response.content返回的字节流数据,可以用来保存图片等二进制文件
print(resp.headers)
print(resp.request)
print(resp.encoding)
print(resp.url)
print(resp.cookies)
# 将CookieJar转为字典
cookiedict = requests.utils.dict_from_cookiejar(resp.cookies)
print('xforce-saas-token: ' + cookiedict['xforce-saas-token'])

l_url = 'https://xxx'
params = {'current': '1','size': '3','status': '1'}
#session包含用户登录后的Cookie值,可以访问登录后才可以访问的页面
#params 接收一个字典或者字符串的查询参数,字典类型自动转换为url编码,不需要urlencode()
#检查主机的SSL证书,使用 verify 参数(也可以不写),绕过验证,verify设置为 False 就可以正常请求
#timeout 仅对连接过程有效,与响应体的下载无关,超时则抛出timeout异常
resp_list = session.get(l_url,params=params,verify=True,timeout=0.001)
print(resp_list)
print(resp_list.json())

 

posted @ 2020-06-05 17:46  cty136  阅读(178)  评论(0编辑  收藏  举报