Python Requests — 如何判断是否收到成功的响应

Python Requests — 如何判断是否收到成功的响应

在本文中,我们将介绍如何使用Python的Requests库来发送HTTP请求,并判断是否收到了成功的响应。HTTP请求是现代网络通信的基础,常用于获取网页内容、发送表单数据、下载文件等。Requests库是Python中最常用的处理HTTP请求的库之一,它提供了简洁易用的API,使得发送HTTP请求变得非常方便。

阅读更多:Python 教程

发送GET请求

首先,让我们来看一个简单的例子,如何使用Requests发送GET请求并判断是否成功收到响应。我们将使用一个公开的API来演示这个过程。假设我们要获取一个天气预报的API,以获取当前的天气信息。

import requests

def get_weather(city):
    url = f"http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q={city}"
    response = requests.get(url)

    if response.status_code == 200:
        print("成功获取天气预报!")
        # 在这里可以进一步处理响应的数据
    else:
        print("获取天气预报失败!")

在上面的例子中,我们首先构造了一个URL,其中包含了我们要请求的API的地址和参数。然后使用requests.get()方法发送GET请求,并将返回的响应保存在response变量中。接着,我们通过response.status_code属性来判断响应的状态码是否为200,这个状态码表示请求成功。如果是成功的响应,我们可以继续处理响应的数据,否则输出获取失败的提示信息。

要运行上面的代码,你需要将YOUR_API_KEY替换为你自己的API密钥,还需要将city参数替换为你想查询天气的城市名称。

发送POST请求

除了发送GET请求,Requests库也支持发送POST请求。假设我们要使用一个公开的API创建一个新用户,我们可以像下面这样发送一个POST请求:

import requests

def create_user(username, password):
    url = "http://api.example.com/users"
    data = {
        "username": username,
        "password": password
    }
    response = requests.post(url, data=data)

    if response.status_code == 201:
        print("成功创建用户!")
        # 在这里可以进一步处理响应的数据
    else:
        print("创建用户失败!")

在上面的例子中,我们首先构造了一个URL,用于指定要发送POST请求的地址。然后,我们创建了一个字典data,其中包含了要发送的表单数据。接着,我们使用requests.post()方法发送POST请求,并将返回的响应保存在response变量中。最后,我们通过判断响应的状态码是否为201来判断请求是否成功。

处理JSON响应

大多数API都会返回JSON格式的数据作为响应。Requests库提供了方便的方法来处理这种JSON响应。我们可以使用response.json()方法将响应转换为Python的字典对象,然后通过字典的键值对来访问响应的数据。

让我们以一个例子来演示如何处理JSON响应。

import requests

def get_image_url(keyword):
    url = f"http://api.example.com/images?keyword={keyword}"
    response = requests.get(url)

    if response.status_code == 200:
        data = response.json()
        image_url = data["url"]
        print(f"成功获取图片URL:{image_url}")
    else:
        print("获取图片URL失败!")

在上面的例子中,我们首先构造了一个URL,其中包含了我们要请求的API的地址和参数。然后,我们使用requests.get()方法发送GET请求,并将返回的响应保存在response变量中。接着,我们通过response.status_code属性来判断响应的状态码是否为200,如果是成功的响应,我们可以使用response.json()方法将其转换为字典对象。最后,通过访问字典的键值对来获取我们需要的数据,这里的例子中获取了图片的URL。

总结

在本文中,我们介绍了如何使用Python的Requests库来发送HTTP请求,并判断是否收到了成功的响应。我们使用了GET和POST两种常见的请求方法,并演示了如何处理JSON格式的响应。希望通过本文的介绍,你对使用Requests库发送HTTP请求有了更深入的了解。

无论是从API获取数据,还是提交表单数据,现代网络通信离不开HTTP请求。Requests库为我们提供了简洁易用的API,使得发送和处理HTTP请求变得非常方便。使用Requests库,我们可以轻松地判断是否收到了成功的响应,并进一步处理响应的数据。希望本文能够帮助你在使用Requests库时更加得心应手!

如果你对Python的Requests库还不太熟悉,推荐你阅读相关的官方文档和教程,以便更加全面地了解其功能和用法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程