【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应

简介: 【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应

URL参数传递方式一:使用字典传递参数

url = 'https://www.apiopen.top/satinApi'
params = {'type': 1, 'page': 2}
response = requests.get(url, params)
print(response)

这段代码使用requests库发送了一个GET请求,指定了一个URL('https://www.apiopen.top/satinApi')和一个参数字典(params)。params字典中包含了请求的参数,其中type的值为1,page的值为2。requests.get()方法会自动将参数拼接到URL中,并发送GET请求。最后打印出了响应的结果。

URL参数传递方式二:直接在URL中拼接参数

url = 'https://www.apiopen.top/satinApi?type=1&page=1'
response = requests.get(url)
# print(response)

这段代码直接在URL字符串中通过拼接的方式传递参数。URL中包含了两个参数typepage,分别设置为1和1。再次使用requests.get()方法发送GET请求,并将响应结果赋值给response变量。在本例中,注释掉了print(response)代码行。

获取响应头信息

print(response.headers)

使用response.headers可以获取到服务器响应的头部信息,包括Content-Type、Server、Date等。

获取响应体数据

a. 获取二进制数据

content = response.content
print(type(content))

response.content返回响应内容的二进制表示。通过type()函数可以查看content变量的数据类型。

b. 获取字符数据

text = response.text
print(type(text))

response.text返回响应内容的字符串表示。通过type()函数可以查看text变量的数据类型。

c. 获取JSON数据

json = response.json()
print(type(json))
print(json)

response.json()将响应内容解析为JSON格式,并返回对应的Python数据结构。通过type()函数可以查看json变量的数据类型。打印json变量将显示解析后的字典或列表对象。

注意:只有当响应内容的MIME类型为application/json时,response.json()才会成功解析JSON数据。

总结:本段代码展示了通过requests库发送HTTP请求,并获取响应的头部信息和不同格式的响应体数据。

相关文章
|
29天前
|
数据采集 前端开发 算法
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
本文介绍了如何使用 Python 的 `requests` 库应对复杂的 HTTP 请求场景,包括 Spider Trap(蜘蛛陷阱)、SESSION 访问限制和请求频率限制。通过代理、CSS 类链接数控制、多账号切换和限流算法等技术手段,提高爬虫的稳定性和效率,增强在反爬虫环境中的生存能力。文中提供了详细的代码示例,帮助读者掌握这些高级用法。
Python Requests 的高级使用技巧:应对复杂 HTTP 请求场景
|
12天前
|
JSON API 数据格式
Python中获取HTTP请求响应体的详解
本文介绍了如何使用Python的`requests`和`urllib`库发送HTTP请求并处理响应体。`requests`库简化了HTTP请求过程,适合快速开发;`urllib`库则更为底层,适用于性能要求较高的场景。文章详细演示了发送GET请求、处理JSON响应等常见操作。
|
1月前
|
Java Maven Kotlin
vertx的学习总结7之用kotlin 与vertx搞一个简单的http
本文介绍了如何使用Kotlin和Vert.x创建一个简单的HTTP服务器,包括设置路由、处理GET和POST请求,以及如何使用HTML表单发送数据。
37 2
vertx的学习总结7之用kotlin 与vertx搞一个简单的http
|
1月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
33 1
|
1月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
17 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
HTTPS 请求中的证书验证详解(Python版)
HTTPS 请求中的证书验证详解(Python版)
122 0
|
Web App开发 新零售 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
1.尽可能地了解需求,系统层面适用开闭原则 2.模块化,低耦合,能快速响应变化,也可以避免一个子系统的问题波及整个大系统 3.
751 0
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
总结和计划总是让人喜悦或镇痛,一方面以前一段时间没有荒废,能给现在的行动以信心,另一方面看到一年的时间并不能完成很多事情,需要抓紧时间。
617 0
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
系统的升级涉及各个架构组件,细节很多。常年累月的修修补补使老系统积累了很多问题。 系统升级则意味着需要repair之前埋下的雷,那为何还要升级,可以考虑以下几个方面 成熟老系统常见问题: 1. 缺乏文档(这应该是大小公司都存在的问题。
624 0
下一篇
无影云桌面