簡體   English   中英

curl -b cookie -c cookie -X POST -d @ some_auth.json url —等效於python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM