[英]curl -b cookies -c cookies -X POST -d @some_auth.json url — python equivalent
上面的命令行使用通過-d選項傳遞給它的json文件中的數據發出curl請求,並獲取cookie並將其存儲在cookie文件夾中。
這些cookie可以在后續的curl請求中使用,而無需顯式指定憑據。
我正在嘗試將上述命令行轉換為python代碼。 曾嘗試遵循以下代碼段,但均無濟於事。
代碼1:
import requests, sys, json
s = requests.Session()
url = 'some_url'
r = s.post(url, data={'cmd': 'login', 'loginname': 'some_login', 'password': 'some_password' } )
print(s.cookies)
代碼2:
from requests import Session
import requests, sys, json
reload(sys)
sys.setdefaultencoding("utf8")
f = open("auth.json", "r")
p = json.load(f)
url = 'https://api.some.com/auth'
s = requests.Session()
service_url = 'http://api.some.com/some_service'
r= requests.get(url, auth=(p['login'], p['password']))
c = r.cookies
r = requests.get(service_url, cookies = c, verify = False)
print(c)
第二個代碼正在嘗試驗證和使用第二個請求中的cookie。
在此先感謝您的幫助!!!
cookie參數是字典數據類型。 將c = r.cookies
替換為以下代碼:
c = r.cookies.get_dict()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.