I would like to go to page https://losoviny.iamroot.eu/part_one and write json text from there. End at first I must login in https://losoviny.iamroot.eu/part_one_login and use details in header.
But if If I run code I see:
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Do you know how to rewrite it? (Header data are correct)
Thank you
import json
import requests
headers = {
'username': 'Loskarlos',
'password': 'JednohoDneOvladnuKSI'
}
response = requests.post('https://losoviny.iamroot.eu/part_one_login', headers=headers)
response_get = requests.get('https://losoviny.iamroot.eu/part_one ')
response_get = json.loads(response_get.json())
print(response_get)
CodePudding user response:
First you need to get the token from https://losoviny.iamroot.eu/part_one_login
in order to test the API use postman. Your initial response is not a header element. It is a form, use below code to get the token.
import requests
url = "https://losoviny.iamroot.eu/part_one_login"
payload={'username': '<User NAME>',
'password': '<Password>'}
headers = {}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
After this I have no idea to pass the token header as per below code. Use header parameters when consuming the part_one endpoint. For header use Bearer format to build the Authorization header parameter.
import requests
url = "https://losoviny.iamroot.eu/part_one"
payload={}
headers = {
'Authorization': 'Bearer <TOKEN>'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
As a practice use postman like tool to navigate an API. cheers!!!
CodePudding user response:
import requests
url = "https://losoviny.iamroot.eu/part_one_login"
payload={'username': 'Loskarlos',
'password': 'JednohoDneOvladnuKSI'}
headers = {}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)