1. ホーム
  2. python

[解決済み] なぜrequests.get()は戻ってこないのですか?requests.get()が使用するデフォルトのタイムアウトは何ですか?

2022-10-28 04:55:24

質問

私のスクリプトでは requests.get は決して戻りません。

import requests

print ("requesting..")

# This call never returns!
r = requests.get(
    "http://www.some-site.com",
    proxies = {'http': '222.255.169.74:8080'},
)

print(r.ok)

どのような原因が考えられますか?何か解決策はありますか?デフォルトのタイムアウトは何ですか? get が使用するデフォルトのタイムアウトは何ですか?

どのように解決するのですか?

<ブロッククオート

デフォルトで使用されるタイムアウトは何ですか?

デフォルトのタイムアウトは None で、これは接続が閉じられるまで待つ(ハングする)ことを意味します。

このようにタイムアウト値を指定するだけです。

r = requests.get(
    'http://www.justdial.com',
    proxies={'http': '222.255.169.74:8080'},
    timeout=5
)