python requests库使用

本文详细介绍了如何使用Python的requests库进行HTTP请求,包括POST、PUT、DELETE、GET等方法,以及如何传参、处理重定向、设置超时和解析返回内容。涵盖了cookies、params、data、files、json数据、图片上传和响应处理等关键知识点。
摘要由CSDN通过智能技术生成

 安装/导入:
pip install requests
import requests

方法:

requests.post('http://httpbin.org/post')
requests.put('http://httpbin.org/put')
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')
requests.get('http://httpbin.org/get')

传参:

cookies=cs
params:
header:请求头
            requests.get(url, headers=headers)
data:发送表单
            payload = {'key1': 'value1', 'key2': 'value2'}
            payload = (('key1', 'value1'), ('key1', 'value2'))
            r = requests.post("http://httpbin.org/post", data=payload)
files:文件
            files = {'file': open('report.xls', 'rb')}
            files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})}
            r = requests.post(url, files=files)
重定向:
        禁用 allow_redirects=False
        启用:allow_redirects=True
timeout超时时间:

        timeout=0.001 单位s
get传参
    requests.get("http://httpbin.org/get?name=germey&age=22")
    

     data = {
         'name': 'germey',
         'age': 22
        }
     response = requests.get("http://httpbin.org/get", params=data)

结果处理
     检查返回状态
                r.raise_for_status() 200时返回None,其他返回报错信息
                r.status_code
                r.status_code == requests.codes.ok    >>    True
    返回内容获取
        Response.content 数据转换为二进制,用于获取图片,音频等
        Response.text:用于获取文本,网页源代码等
        res.encoding = 'utf-8'  设置接受编码
        获取响应头:r.headers
        获取cokkieas:r.cookies['ts']
        url信息:r.url
    返回格式
        response.json()
        json.loads(response.text)

常用场景:

上传文件:
        upload_files = {'file': open('report.xls', 'rb')}
        r = requests.post(url, files=upload_files)
 json数据
        requests默认使用application/x-www-form-urlencoded对POST数据编码,需要传入json数据,可以直接
        params = {'key': 'value'}
        r = requests.post(url, json=params) # 内部自动序列化为JSON
图片
        rom PIL import Image
        from io import BytesIO
        i = Image.open(BytesIO(r.content))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值