Создание межсетевого API для вызова в Django - PullRequest
0 голосов
/ 10 мая 2018
    POST /somelink
    Host: hostname
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101
    Firefox/47.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-US,en;q=0.5
    Accept-Encoding: gzip, deflate, br
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 683
    Cookie: xxx
    Connection: keep-alive
    access_token=xxx

Как я могу сформировать вызов API с этими данными?Я уже попробовал:

payload={ "POST":"somelink",
                         "Host":"hostname",
                         "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0",
                         "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                         "Accept-Language":"en-US,en;q=0.5",
                         "Accept-Encoding":"gzip, deflate, br",
                         "Content-Type": "application/x-www-form-urlencoded",
                         "Content-Length": "683",
                         "Cookie":" xxx",
                         "Connection":"keep-alive",
                         "access_token":"xxx"}
                headers = {}
                r = requests.post(url, data=json.dumps(payload), headers=headers)

Но если я попробую таким образом, я получу 'Connection aborted.', gaierror(-2, 'Name or service not known'.Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 10 мая 2018

gaierror означает, что поиск DNS не выполняется: Что означает этот socket.gaierror?

Это означает, что Python не может преобразовать имя хоста в IP-адрес, чтобы инициировать запрос. Пример:

>>> from socket import gethostbyname
>>> gethostbyname('www.google.com')
'172.217.26.196'
>>> gethostbyname('www.wrongurlthatdoesnotexist.com')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.gaierror: [Errno -2] Name or service not known
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...