|
本帖最后由 Tinken 于 2020-10-2 02:07 编辑
第一步:安装requests库
PS:网络请求必须
命令行:pip install requests
命令行:pip3 install requests
pip:python2的命令
pip3:python3的命令
python可以既可以使用pip,也可以使用pip3;如果系统同时用量python2和python3,则需要分开使用
第二步使用:引入requests库:import requests
requests.request(method, url, **kwargs)
method:请求方式:get、options、head、post、put、patch、delete,也支持自定义扩展url:请求的网络地址,如https://www.baidu.com**kwargs:自定义如下- 参数 params 是query string,它可以是一个字典,或者一个list,list的内容是一堆的tuple,也可以是bytes。
- 参数 data 是 HTTP 请求中的 body ,它可以是一个字典,或者一个list,list的内容是一堆的tuple,也可以是bytes或者文件
- 参数 json 是为了方便请求而提供的参数,它其实相当于 data ,但是会自动把请求的 Content-Type 设置为 application/json
- 参数 headers 是 HTTP 请求中的头部,它是一个字典
- 参数 cookies 是所携带的 Cookie ,它可以是一个字典或者 CookieJar 的实例
- 参数 files 是要上传的文件,它可以是一个字典,字典的内容是tuple
- 参数 auth 用于开启 HTTP 请求的认证
- 参数 timeout 是超时时间
- 参数 allow_redirects 是否允许重定向,它是一个布尔值
- 参数 proxies 是是否使用代理
- 参数 verify 是否检查服务端的证书,传布尔值或者 CA 的路径
- 参数 stream 是布尔值,代表是否以流的方式读取结果
- 参数 cert 传入客户端的SSL证书
也可以直接:requests.request(method, url, **kwargs)
requests.get(url, params=None, **kwargs)
requests.options(url, **kwargs)
requests.head(url, **kwargs)
requests.post(url, data=None, json=None, **kwargs)
requests.put(url, data=None, **kwargs)
requests.patch(url, data=None, **kwargs)
requests.delete(url, **kwargs)
或者直接:
GET请求:requests.get(‘http://xxx.com’)
POST请求:requests.post(“http://xxx.com”)
PUT请求:requests.put(“http://xxx.com”)
DELETE请求:requests.delete(“http://xxx.com”)
HEAD请求:requests.head(“http://xxx.com”)
OPTIONS请求:requests.options(“http://xxx.com” )
测试代码:- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- # @ClassName test2
- # @Description TODO
- # @Author lanlo
- # @Date 2020-10-02 0:45
- # @Version 1.0
- import requests
- url = "http://www.vrpip.com/forum.php?mod=viewthread&tid=62&extra="
- res = requests.get(url)
- # 查看返回数据对象
- print(type(res))
- # 结果:class 'requests.models.Response'
- # Response.status_code 检查请求是否成功 200 代表正常,404 代表网页不存在。
- # Response.encoding 定义编码 如果编码不对,网页就会乱码的。
- # Response.content 把数据转成二进制 用于获取图片、音频类的数据。
- # Response.text 把数据转为字符串 用于获取文本、网页原代码类的数据。
- # 打印响应状态码
- print(res.status_code)
- # 定义编码
- res.enconding = "utf-8"
- # 直接打印页面内容
- print(res.text)
- # 获得响应头内容
- print(res.headers)
- print(res.headers['content-type'])
- # 还可以用这种方式获取请求头内容
- print(res.request.headers)
- # 打印cookies
- print(res.cookies)
- # 打印二进制信息
- print(res.content)
- # 打印二进制信息
- print(res.content.decode("utf-8"))
复制代码
|
|