У меня есть следующий скрипт, основанный на том, что почтальон сгенерировал для меня.Сценарий работает просто отлично, но я действительно не понимаю, почему.
import requests
import json
import getpass
url = "https://sso-test.example.com/as/token.oauth2"
generic_user = 'foo-oauth.gen'
pw = getpass.getpass('Enter password for %s: ' % generic_user)
payload = "grant_type=password&username=foo-oauth.gen&password=%s" % pw
# This bit was generated by postman.
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'Authorization': "Basic WhereInThEHeCkDoeThiscomEFrom",
'cache-control': "no-cache",
'Postman-Token': "HowisTh-isgen-480d-8569-c9866544b60"
}
# Get the Bearer token.
response = requests.request("POST", url, data=payload, headers=headers)
rdict = json.loads(response.text)
access_token = rdict['access_token']
url = "https://tool-001.example.com/api/v1/details/"
payload = ""
headers = {
'Authorization': "Bearer %s ,Basic WheredoesThisComeFrom" % access_token,
'X-XSRF-Header': "example.com",
'cache-control': "no-cache",
'Postman-Token': "df6f062f-815b-49a1-adc1-IsthiSevenSafetoPost"
}
# Get data from the API.
response = requests.request("GET", url, data=payload, headers=headers, verify=False)
print(response.text)
Я не понимаю, как генерируется headers
.Как написать такой сценарий без почтальона?