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

在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库的高级应用形式。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理