python requests cookies请求_python+requests实现接口测试 - cookies的使用
在很多時候,發送請求后,服務端會對發送請求方進行身份識別,如果請求中缺少識別信息或存在錯誤的識別信息,
會造成識別失敗。 如一些需要用戶登錄以后才能訪問的頁面。
import requests
myaddress_url='http://xxx.com/api/v1/myaddress'
myaddress=requests.get(myaddress_url)
print(myaddress.status_code)
print(myaddress.text)
-----結果-----
401
未授權的訪問, 請重新登陸
在用戶登錄的時候,服務器端會向請求方發送一些資料,存在本地,例如cookies,在接下來的某些請求中,都需要帶上cookies,服務器通過cookies內容來辨別
使用者。
那么在python中,是如何在請求中帶入cookies信息的呢,看下面:
import requests
login_url='http://xxx.com/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
login=requests.post(login_url,json=userinfo)
cookies=login.cookies #獲取登錄后的cookies內容
myaddress_url='http://xxxx/api/v1/myaddress'
myaddress=requests.get(myaddress_url,cookies=cookies) #在請求中帶入cookies
print(myaddress.status_code)
print(myaddress.text)
-----結果-----
200
{........}
帶入了cookies內容后,可以正常的獲取到想要的響應內容。
在此處雖然可以請求成功,但需要獲取到cookies內容及每次都要發送cookies內容,不是非常方便,因此,接下來我們介紹另外一種方法
使用session類來發送請求:
import requests
login_url='http://xxxx/api/v1/user/login'
userinfo={"ua":"username","pw":"password"}
myaddress_url='http://xxx/api/v1/myaddress'
test_session=requests.session() #使用session類生成一個對象
login=test_session.post(login_url,json=userinfo)
myaddress=test_session.get(myaddress_url)
print(myaddress.status_code)
print(myaddress.text)
-----結果-----
200
{...}
至此,cookies相關的問題解決
總結
以上是生活随笔為你收集整理的python requests cookies请求_python+requests实现接口测试 - cookies的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java se 9.0.4_jre 9下
- 下一篇: php获取页面中的指定内容,php 获取