共计 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 库的高级应用形式。
正文完