Использование: запросы модуля Python. < /p>
Первый процесс, который мне нужно сделать, - это вход. Это простая форма. Осмотрев веб -сайт, я проанализирую заголовки и необходимые параметры: < /p>
Код: Выделить всё
General:
Request URL:http://192.168.7.2:8000/api/login
Request Method:POST
Status Code:200 OK
Remote Address:192.168.7.2:8000
Referrer Policy:no-referrer-when-downgrade
Response Headers:
Transfer-Encoding:chunked
Request Headers:
POST /api/login HTTP/1.1
Host: 192.168.7.2:8000
Connection: keep-alive
Content-Length: 37
Accept: application/json, text/plain, */*
Origin: http://192.168.7.2:8000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
Content-Type: application/json;charset=UTF-8
Referer: http://192.168.7.2:8000/login.html
Accept-Encoding: gzip, deflate
Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
Request Payload:
{"user":"user","password":"password"}
< /code>
Следуя документации, которую я получил в этом коде: < /p>
import requests
import json
url = "http://192.168.7.2:8000/api/login"
payload = {"user":"admin","password":"admin"}
r = requests.post(url,data=payload)
#r.encoding = "UTF-8"
print r.text
< /code>
Что происходит? Что ж, запустив скрипт, я получаю этот вывод: {"errno": "20"}
Изменение формата полезной нагрузки: та же ошибка {"errno": "20"} < /code> < /p>
Код: Выделить всё
payload = (("user","admin"),("password","admin"))
r = requests.post(url,data=payload)
#r.encoding = "UTF-8"
print r.text
Код: Выделить всё
import requests
import json
url = "http://192.168.7.2:8000/api/login"
payload = {"user":"admin","password":"admin"}
r = requests.post(url,data=json.dumps(payload))
#r.encoding = "UTF-8"
print r.text
Код: Выделить всё
import requests
import json
url = "http://192.168.7.2:8000/api/login"
payload = {"user":"admin","password":"admin"}
r = requests.post(url,json=payload)
#r.encoding = "UTF-8"
print r.text
< /code>
Использование другого URL: < /p>
import requests
import json
url = "http://192.168.7.2:8000/login.html"
payload = {"user":"admin","password":"admin"}
r = requests.post(url,data=payload)
#r.encoding = "UTF-8"
print r.text
printing r.coding < /code>-> iso-8859-1 < /code>-вывод. < /p>
Установить r .encoding = "utf-8" и print r.text output: unicodeencodeerror: 'ascii' Codec не может кодировать символ U '\ xed' в положении 3426: порядка не в диапазоне (128)
У кого -нибудь есть опыт работы с этой lib?
Подробнее здесь: https://stackoverflow.com/questions/481 ... st-request