web-dev-qa-db-ja.com

Python 3-urllib、HTTPエラー407:プロキシ認証が必要

Urllib.request.urlopen()を使用してWebサイトを開こうとしています(企業プロキシの背後にいます)が、エラーが発生します:

urllib.error.HTTPError: HTTP Error 407: Proxy Authentication Required

Urllib.request.getproxies()でプロキシを見つけることができますが、それに使用するユーザー名とパスワードを指定するにはどうすればよいですか?公式ドキュメントで解決策を見つけることができませんでした。

14
Lanaru
import urllib.request as req

proxy = req.ProxyHandler({'http': r'http://username:password@url:port'})
auth = req.HTTPBasicAuthHandler()
opener = req.build_opener(proxy, auth, req.HTTPHandler)
req.install_opener(opener)
conn = req.urlopen('http://google.com')
return_str = conn.read()
23
Lanaru

資格情報(ユーザー名とパスワード)を使用してプロキシサーバー認証を設定し、リクエストを使用してWebサイトに接続できます。これは私のために働いた。プロキシサーバー名を取得するには:次を使用します

import urllib.request as req
import os
#get your proxy server url details using below command
req.getproxies() 

#user your credentials and url to authenticate

os.environ['http_proxy'] = "http://username:pwd@url:80"
os.environ['https_proxy'] = "http://username:pwd@url:80"

#replace username, pwd and url with your credentials.

conn = req.urlopen('https://Google.com')
return_str = conn.read()
0
Bernad Peter