Python 中如何发送一个 get 请求?图文教程

本文介绍了在 Python 中使用 requests 库发送 GET 请求的基础操作,涵盖了处理查询参数、自定义请求头和异常处理等内容。

用 Apifox,节省研发团队的每一分钟

Python 中如何发送一个 get 请求?图文教程

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

本文来聊聊在 Python 中如何发送一个 GET 请求。GET 请求是我们向服务器获取数据的方式之一,使用起来非常简单。废话不多说,直接上干货!

 

安装请求库

首先,我们需要一个非常好用的库——requests。如果你还没装,打开你的终端,运行下面的命令:

pip install requests

macOS 用户自带 Python3 环境,所以你可能需要将pip改为pip3

 

发送基本的 GET 请求


 

使用 requests 库发送 GET 请求

有了 requests 库,发送 GET 请求就像喝水一样简单。来看个例子:

import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)
print(response.text)

这里我们向一个示例 API 发送了 GET 请求,打印了响应的状态码和文本内容。

 

处理 GET 请求响应

你可以轻松获取响应内容,比如 JSON 数据:

data = response.json()
print(data)
Python 中如何发送一个 get 请求

 

处理查询参数

有时候,我们需要在请求中添加查询参数。用 params 参数就可以搞定:

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.url)
print(response.json())

这样,我们就向服务器发送了带查询参数的请求。

 

处理请求头

有时候,我们还需要在请求中添加一些自定义请求头,比如 User-Agent

headers = {'User-Agent': 'my-app/0.0.1'}
response = requests.get('https://jsonplaceholder.typicode.com/posts', headers=headers)
print(response.request.headers)

这样,我们就能轻松添加自定义请求头了。

 

处理 GET 请求异常

在网络请求中,异常情况在所难免。我们可以通过 try-except 来捕获异常:

try:
    response = requests.get('https://jsonplaceholder.typicode.com/posts')
    response.raise_for_status()
    print(response.json())
except requests.exceptions.RequestException as e:
    print(f"请求失败: {e}")

这样就能优雅地处理各种请求异常了。

 

完整示例代码

综合以上内容,给大家一个完整的示例代码:

import requests

url = 'https://jsonplaceholder.typicode.com/posts'
params = {'userId': 1}
headers = {'User-Agent': 'my-app/0.0.1'}

try:
    response = requests.get(url, params=params, headers=headers)
    response.raise_for_status()
    data = response.json()
    print(data)
except requests.exceptions.RequestException as e:
    print(f"请求失败: {e}")

复制粘贴运行,就能看到效果!

Python 中如何发送一个 get 请求

 

常见问题和注意事项


 

如何处理 HTTPS 请求

requests 库默认支持 HTTPS 请求,你什么都不需要做。

 

如何设置超时

为了避免请求卡住,我们可以设置一个超时时间:

response = requests.get('https://jsonplaceholder.typicode.com/posts', timeout=5)

这样,超时设置为 5 秒。

 

使用 Apifox 测试、管理接口

Apifox 是一个集 API 文档、调试、Mock 和自动化测试于一体的工具,它可以帮助我们更加方便地调试和测试接口,还可以根据接口快速生成业务代码

 

调试 GET 接口

首先打开 Apifox,创建一个新的 HTTP 项目,在项目中,将鼠标光标移动到+号按钮那里,点击 "新建接口"。填写接口的 URL 和请求方法(GET),保存后来到“运行”页,点击 "发送" 按钮,查看请求的响应,这样可以测试接口是否正常。

Python get 请求

生成代码

Apifox 可以自动生成请求代码,包括生成 Python、JAVA、Axios  等代码。接口发送请求后,在下方的“实际请求”中,可以根据你的业务需求选择生成相应语言的代码。

Python get 请求


除此之外,还可以在“文档”页面,点击右上角的 "生成代码" 按钮,你可以在此生成接口请求代码,也可以生成实际的业务代码。

Python get 请求


比如我要生成一个 Python 的接口请求代码,其示例生成的代码如下图所示:

Python get 请求


是不是非常 nice,利用 Apifox 能大大提升开发效率,快去试试吧!


总结

本文介绍了在 Python 中使用 requests 库发送 GET 请求的基础操作,涵盖了处理查询参数、自定义请求头和异常处理等内容。此外,还介绍了 Apifox 这款产品,讲解怎么调试接口和生成代码,从而提升开发效率,强烈推荐使用!