关于python:Python网络请求中级篇深入理解Requests库的使用

54次阅读

共计 1226 个字符,预计需要花费 4 分钟才能阅读完成。

在 Python 网络申请高级篇中,咱们理解了 Requests 库根底的应用形式,包含如何发动 GET 和 POST 申请,如何解析 JSON 响应以及如何解决异样。在本文中,咱们将深刻了解 Requests 库,包含如何发送带参数的申请,如何解决 Cookies,如何应用 Session 对象以及如何设置申请头。

一、发送带参数的申请

咱们能够通过两种形式向 URL 增加参数,一种是间接在 URL 中增加,另一种是应用 params 选项。

import requests

# 间接在 URL 中增加参数
response = requests.get('http://httpbin.org/get?name=John&age=23')

# 应用 params 选项增加参数
payload = {'name': 'John', 'age': 23}
response = requests.get('http://httpbin.org/get', params=payload)

二、解决 Cookies

有时,咱们须要在申请中发送或接管 cookies。咱们能够通过 Requests 库的 cookies 属性来实现。

import requests

# 发送 cookies
cookies = dict(cookies_are='working')
response = requests.get('http://httpbin.org/cookies', cookies=cookies)

# 接管 cookies
response = requests.get('http://www.github.com')
print(response.cookies['some_cookie'])

三、应用 Session 对象

在进行多个申请时,咱们可能须要应用到同一个 Session。Session 对象容许咱们跨申请放弃某些参数。

import requests

s = requests.Session()

s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get('http://httpbin.org/cookies')

print(r.text)

在这个例子中,咱们首先创立了一个 Session 对象 s,而后应用 s 进行了两次申请。因为这两次申请应用了同一个 Session,所以第二次申请能够获取到第一次申请设置的 cookies。

四、设置申请头

咱们能够通过 headers 选项设置申请头。

import requests

headers = {'user-agent': 'my-app/0.0.1'}

response = requests.get('http://httpbin.org/get', headers=headers)

这段代码设置了 User-Agent 申请头,而后发动了一个 GET 申请。

应用 Requests 库,咱们能够轻松实现各种简单的网络申请工作。在后续的文章中,咱们将进一步学习 Requests 库的高级应用形式。

正文完
 0