Requests.get () зависает при подключении - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь сделать простой запрос на получение, используя requests

import requests

def main():
    content = requests.get("https://google.com")
    print(content.status_code)

if __name__ == "__main__":
    main()

Я запускаю это на Linux версии 17.10.Версия Python: либо 2,7, либо 3,6 (пробовал оба).

Код застревает при запуске, не работает по тайм-ауту или что-то в этом роде.

После того, как я остановил его, основываясь на коллстаке, онзастревает в:

File "/usr/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args)

1 Ответ

0 голосов
/ 10 января 2019

Я только что запустил ваш код на консоли Python, и он вернул 200. Я использую Python 3.6.7, Ubuntu 18.04.

Может случиться так, что ваш компьютер не может подключиться к google.com в течение очень долгого времени, вы должны передать параметр timeout вместе с try except

Используйте следующий код:

import requests

def main():
    success = False
    while success==False:
        try:
            content = requests.get("https://google.com", timeout=5)
            success=True
        except:
            pass
    print(content.status_code)

if __name__ == "__main__":
    main()

Если временная проблема с сетевым подключением, этот фрагмент кода гарантирует правильный ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...