1. ホーム
  2. パイソン

[解決済み】Python 'Requests'モジュールによるプロキシ

2022-04-08 13:30:05

質問

エクセレントに関する簡単なものでよい リクエスト モジュールです。

変数 'proxies' が何を含むべきか、ドキュメントで見つけられないようです。標準的な "IP:PORT" 値を持つ dict を送ると、2つの値を要求して拒否されました。 つまり、最初の値はIPで、2番目の値はポートということでしょうか?

ドキュメントにはこのことだけが記載されています。

proxies - (オプション) プロキシの URL にプロトコルをマッピングする辞書です。

で、これを試してみたんですが、どうすればいいんでしょう?

proxy = { ip: port}

で、これらを何らかの型に変換してからdictに入れた方がいいのでしょうか?

r = requests.get(url,headers=headers,proxies=proxy)

解決方法は?

その proxies ' ディクショナリーの構文は {"protocol":"ip:port", ...} . を使ったリクエストに対して、異なる (あるいは同じ) プロキシを指定することができます。 http , https および エフティーピー プロトコルを使用します。

http_proxy  = "http://10.10.1.10:3128"
https_proxy = "https://10.10.1.11:1080"
ftp_proxy   = "ftp://10.10.1.10:3128"

proxyDict = { 
              "http"  : http_proxy, 
              "https" : https_proxy, 
              "ftp"   : ftp_proxy
            }

r = requests.get(url, headers=headers, proxies=proxyDict)

から推論される。 requests ドキュメント :

パラメータです。

method - メソッドを新しいRequestオブジェクトに追加します。

url - 新しいRequestオブジェクトのURL。

...

proxies - (オプション) 辞書 マッピング プロトコル から プロキシのURL .

...


linux では、この操作は HTTP_PROXY , HTTPS_PROXY および FTP_PROXY 環境変数を指定します。

export HTTP_PROXY=10.10.1.10:3128
export HTTPS_PROXY=10.10.1.11:1080
export FTP_PROXY=10.10.1.10:3128

Windowsの場合。

set http_proxy=10.10.1.10:3128
set https_proxy=10.10.1.11:1080
set ftp_proxy=10.10.1.10:3128


Jayさん、ご指摘ありがとうございます。

で構文が変わりました。 リクエスト2.0.0 .

urlにスキーマを追加する必要があります。 https://2.python-requests.org/en/latest/user/advanced/#proxies