请求模块requests库基本使用

请求模块requests库基本使用requests 库是 Python 中用于发送 HTTP 请求的一个强大且简单易用的库 它支持多种 HTTP 方法 如 GET POST PUT DELETE 等 并且有丰富的功能来处理响应数据

欢迎大家来到IT世界,在知识的湖畔探索吧!

requests 库是 Python 中用于发送 HTTP 请求的一个强大且简单易用的库。它支持多种 HTTP 方法(如 GET、POST、PUT、DELETE 等),并且有丰富的功能来处理响应数据。以下是 requests 库的基本使用方法:

请求模块requests库基本使用



欢迎大家来到IT世界,在知识的湖畔探索吧!

一、安装

首先,你需要安装 requests 库。如果你还没有安装,可以使用以下命令通过 pip 安装:

pip install requests

欢迎大家来到IT世界,在知识的湖畔探索吧!

二、基本用法

1. 发送 GET 请求

欢迎大家来到IT世界,在知识的湖畔探索吧!import requests # 发送 GET 请求 response = requests.get('https://api.example.com/data') # 获取响应状态码 print(response.status_code) # 获取响应内容(文本格式) print(response.text) # 获取响应内容(JSON 格式,如果服务器返回的是 JSON 数据) print(response.json())

2. 发送 POST 请求

import requests # 定义要发送的数据 data = { 'key1': 'value1', 'key2': 'value2' } # 发送 POST 请求 response = requests.post('https://api.example.com/submit', data=data) # 获取响应状态码 print(response.status_code) # 获取响应内容 print(response.text)

3. 发送带有请求头的请求

欢迎大家来到IT世界,在知识的湖畔探索吧!import requests # 定义请求头 headers = { 'Content-Type': 'application/json', 'Authorization': 'Bearer your_token_here' } # 发送 GET 请求并附带请求头 response = requests.get('https://api.example.com/protected', headers=headers) # 获取响应内容 print(response.text)

4. 发送带有查询参数的请求

import requests # 定义查询参数 params = { 'search': 'keyword', 'sort': 'asc' } # 发送 GET 请求并附带查询参数 response = requests.get('https://api.example.com/search', params=params) # 获取响应内容 print(response.text)

5. 发送带有 JSON 数据的 POST 请求

欢迎大家来到IT世界,在知识的湖畔探索吧!import requests # 定义 JSON 数据 json_data = { 'name': 'John Doe', 'age': 30 } # 发送 POST 请求并附带 JSON 数据 response = requests.post('https://api.example.com/users', json=json_data) # 获取响应内容 print(response.text)

6. 处理异常

import requests try: response = requests.get('https://api.example.com/data') response.raise_for_status() # 如果响应状态码不是 200,则抛出 HTTPError 异常 print(response.text) except requests.exceptions.HTTPError as errh: print("Http Error:", errh) except requests.exceptions.ConnectionError as errc: print("Error Connecting:", errc) except requests.exceptions.Timeout as errt: print("Timeout Error:", errt) except requests.exceptions.RequestException as err: print("OOps: Something Else", err)

7.额外功能

  • 会话对象:使用 requests.Session() 可以创建会话对象,用于跨请求保持某些参数(如 cookies 和 headers)。
  • 超时设置:可以在请求中设置超时时间,如 requests.get(‘url’, timeout=5)。
  • 代理设置:可以通过 proxies 参数设置代理,如 proxies={‘http’: ‘http://10.10.1.10:3128’, ‘https’: ‘http://10.10.1.10:1080’}。

三、requests模块常用函数介绍

requests模块是Python中一个非常流行的HTTP库,用于发送HTTP请求并获取响应。它提供了简洁易用的API,使得发送HTTP请求变得简单快捷。以下是对requests模块中一些常用函数的介绍:

1. requests.request()

  • 功能:构造一个请求,用以支撑其他方法的基础方法。
  • 参数
    method:HTTP方法(如GET、POST等)。url:请求的URL。params:可选,URL的额外参数,字典或字节流格式。其他kwargs参数:用于控制访问的各种参数,如headers(请求头)、cookies(Cookie信息)、auth(认证信息)、timeout(超时时间)等。

2. requests.get()

  • 功能:发送GET请求,获取HTML网页的主要方法。
  • 参数
    • url:请求的URL。
    • params:可选,URL的额外参数,字典或字节流格式。
    • 其他kwargs参数:如headers、cookies、timeout等。

3. requests.post()

  • 功能:发送POST请求,向HTML网页提交数据。
  • 参数
    • url:请求的URL。
    • data:可选,表单数据,字典、字节流或文件对象格式。
    • json:可选,JSON格式的数据,自动设置Content-Type: application/json。
    • 其他kwargs参数:如headers、cookies、timeout等。

4. requests.put()

  • 功能:发送PUT请求,向HTML网页提交局部修改请求。
  • 参数
    • url:请求的URL。
    • data:可选,要提交的数据,字典、字节流或文件对象格式。
    • 其他kwargs参数:如headers、cookies等。

5. requests.delete()

  • 功能:发送DELETE请求,向HTML页面提交删除请求。
  • 参数
    • url:请求的URL。
    • 其他kwargs参数:如headers、cookies等。

6. requests.head()

  • 功能:发送HEAD请求,获取HTML网页头信息。
  • 参数
    • url:请求的URL。
    • 其他kwargs参数:如headers、cookies等。

7. requests.options()

  • 功能:发送OPTIONS请求,用于描述目标资源的通信选项。
  • 参数
    • url:请求的URL。
    • 其他kwargs参数:如headers、cookies等。

8. requests.session()

  • 功能:创建一个会话对象,用于在多个请求中共享参数(如Cookie)。

9. Response对象属性

当发送请求后,requests库会返回一个Response对象,该对象包含了很多有用的属性和方法,用于获取响应的详细信息。例如:

  • status_code:HTTP请求的返回状态码(如200表示成功,404表示未找到)。
  • text:HTTP响应内容的字符串形式。
  • content:HTTP响应内容的二进制形式。
  • headers:返回响应头信息,是一个字典类型。
  • cookies:返回响应的Cookie信息,是一个字典类型。
  • json():如果响应内容是JSON格式,可以使用此方法将其解析为Python字典。
  • encoding:返回响应内容的编码格式。
  • url:返回请求的URL地址。
  • history:返回请求历史,是一个列表类型,其中每个元素都是一个Response对象(用于重定向跟踪)。

10. 异常处理

requests库还提供了一套异常处理机制,用于处理在发送请求过程中可能出现的各种异常。例如:

  • requests.ConnectionError:网络连接错误异常(如拒绝连接等)。
  • requests.HTTPError:HTTP错误异常(如4XX或5XX状态码)。
  • requests.URLRequired:URL缺失异常。
  • requests.TooManyRedirects:超过最大重定向次数异常。
  • requests.ConnectTimeout:连接远程服务器超时异常。
  • requests.Timeout:请求超时异常(包括连接超时和读取超时)。

总之,requests模块是一个功能强大且易于使用的HTTP库,它提供了丰富的函数和属性来满足各种HTTP请求的需求。通过学习和掌握这些函数和属性的用法,可以更加高效地进行网络请求和数据获取。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/132551.html

(0)
上一篇 17分钟前
下一篇 2023年 4月 22日 下午11:57

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信