Python 2.x 中如何使用requests模块进行HTTP请求
在Python中,requests是一个常用的HTTP请求库。使用该库,可以方便地发送HTTP请求并处理返回的响应。本文将介绍如何在Python 2.x中使用requests模块进行HTTP请求,并给出相应的代码示例。
安装requests模块
首先,需要在Python环境中安装requests模块。可以使用pip命令来进行安装,打开终端(命令提示符)并执行以下命令:
安装完成后,就可以在Python代码中导入requests模块了。
发送GET请求
发送GET请求是最常见的HTTP请求类型之一。使用requests模块发送GET请求非常简单。下面是一个示例代码:
import requests # 发送GET请求 response = requests.get("http://api.example.com/get") # 获取响应内容 content = response.text # 获取响应状态码 status_code = response.status_code print(content) print(status_code)
上述代码中,首先导入requests模块,然后使用requests.get(url)函数发送GET请求。该函数会返回一个Response对象,可以通过调用response.text获取响应的字符串形式的内容,通过调用response.status_code获取响应的状态码。
发送POST请求
发送POST请求与发送GET请求类似,只需要使用requests.post(url, data)函数即可。下面是一个示例代码:
import requests # 发送POST请求 data = { "username": "admin", "password": "123456" } response = requests.post("http://api.example.com/login", data=data) # 获取响应内容 content = response.text # 获取响应状态码 status_code = response.status_code print(content) print(status_code)
上述代码中,使用requests.post(url, data)函数发送POST请求。该函数接受一个data参数,可以传入一个字典,表示请求中要提交的数据。
发送其他类型的请求
除了GET和POST请求,requests模块还支持发送其他类型的HTTP请求,例如PUT、DELETE等。使用方法与前面介绍的类似,只需要调用相应的函数即可。下面是一个发送PUT请求的示例代码:
import requests # 发送PUT请求 data = { "name": "example" } response = requests.put("http://api.example.com/put", data=data) # 获取响应内容 content = response.text # 获取响应状态码 status_code = response.status_code print(content) print(status_code)
异常处理
在发送HTTP请求过程中,可能会遇到一些异常情况,例如网络连接问题、服务器错误等。为了保证程序的健壮性,需要对这些异常进行处理。requests模块提供了一些异常类,如ConnectionError、Timeout等,可以使用try-except语句进行捕获和处理。下面是一个异常处理的示例代码:
import requests from requests.exceptions import ConnectionError, Timeout try: response = requests.get("http://api.example.com/get") content = response.text status_code = response.status_code print(content) print(status_code) except ConnectionError: print("网络连接错误") except Timeout: print("请求超时")
上述代码中,使用try-except语句捕获ConnectionError和Timeout异常,分别表示网络连接错误和请求超时。在捕获到异常时,可以根据需要进行相应的处理。
总结
本文介绍了如何在Python 2.x中使用requests模块进行HTTP请求,并给出了相应的代码示例。使用requests模块可以方便地发送各种类型的HTTP请求,并处理返回的响应。在实际开发中,可以根据具体需求对请求参数、响应内容进行相应的操作和处理。