मैंने अपनी स्थिति के लिए सही उत्तर खोजने की कोशिश की है, लेकिन ऐसा लगता है कि यह अभी तक मौजूद नहीं है।

मेरे वर्तमान प्रशिक्षण पाठ्यक्रम (बहुत शुरुआती स्तर) में मेरे पास यूआरएल से कुछ मौसम जेसन जानकारी प्राप्त करने का अभ्यास है (इस मामले में खुला मौसम)। वर्तमान में, यही एकमात्र तरीका है जिससे मुझे ऐसा करना सिखाया गया है:

url = "http://api.openweathermap.org/data/2.5/weather?q="+city+"&appid="+api_key

request = requests.get(url)
json = request.json()
print(json)

मेरे पास मेरे "शहर" और "एपीआई_की" पैरामीटर निर्देश के अनुसार सेट हैं, और मेरे व्यक्तिगत होम नेटवर्क से कनेक्ट होने पर मेरे कोड को सफलतापूर्वक चलाने और जेसन जानकारी प्राप्त करने में सक्षम हैं। हालाँकि, जब मैं अपने कार्य नेटवर्क से, कार्यालय में या वीपीएन के माध्यम से जुड़ता हूँ, तो मुझे यह जादुई दीवार मिलती है:


Traceback (most recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 169, in _new_conn
    conn = connection.create_connection(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\connection.py",
line 96, in create_connection
    raise err   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\connection.py",
line 86, in create_connection
    sock.connect(sa) TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 699, in urlopen
    httplib_response = self._make_request(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)   File
"C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 1257,
in request
    self._send_request(method, url, body, headers, encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line
1303, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 1252,
in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line
1012, in _send_output
    self.send(msg)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 952, in
send
    self.connect()   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 200, in connect
    conn = self._new_conn()   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 181, in _new_conn
    raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x00000255A4B11370>:
Failed to establish a new connection: [WinError 10060] A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\adapters.py",
line 439, in send
    resp = conn.urlopen(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 755, in urlopen
    retries = retries.increment(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\retry.py",
line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError:
HTTPConnectionPool(host='api.openweathermap.org', port=80): Max
retries exceeded with url:
/data/2.5/weather?q=*REDACTED*&appid=*REDACTED* (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x00000255A4B11370>: Failed to establish a new connection: [WinError
10060] A connection attempt failed because the connected party did not
properly respond after a period of time, or established connection
failed because connected host has failed to respond'))        

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"c:\Users\*REDACTED*\Training\Code\Python\weather.py", line 7, in
<module>
    request = requests.get(url)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\api.py",
line 75, in get
    return request('get', url, params=params, **kwargs)
    return session.request(method=method, url=url, **kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\sessions.py",
line 542, in request
    resp = self.send(prep, **send_kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\sessions.py",
line 655, in send
    r = adapter.send(request, **kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\adapters.py",
line 516, in send
    raise ConnectionError(e, request=request) requests.exceptions.ConnectionError:
HTTPConnectionPool(host='api.openweathermap.org', port=80): Max
retries exceeded with url:
/data/2.5/weather?q=*REDACTED*&appid=*REDACTED* (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x00000255A4B11370>: Failed to establish a new connection: [WinError
10060] A connection attempt failed because the connected party did not
properly respond after a period of time, or established connection
failed because connected host has failed to respond'))      PS
C:\Users\*REDACTED*\Training\Code\Python&
C:/Users/*REDACTED*/Python/Python39/python.exe
"c:/Users/*REDACTED*/Training/Code/Python/weather.py" Traceback (most
recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 169, in _new_conn
    conn = connection.create_connection(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\connection.py",
line 96, in create_connection
    raise err   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\connection.py",
line 86, in create_connection
    sock.connect(sa) TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 699, in urlopen
    httplib_response = self._make_request(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)   File
"C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 1257,
in request
    self._send_request(method, url, body, headers, encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line
1303, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 1252,
in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line
1012, in _send_output
    self.send(msg)   File "C:\Users\*REDACTED*\Python\Python39\lib\http\client.py", line 952, in
send
    self.connect()   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 200, in connect
    conn = self._new_conn()   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connection.py",
line 181, in _new_conn
    raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x00000229035A1370>:
Failed to establish a new connection: [WinError 10060] A connection
attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because
connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\adapters.py",
line 439, in send
    resp = conn.urlopen(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\connectionpool.py",
line 755, in urlopen
    retries = retries.increment(   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\urllib3\util\retry.py",
line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError:
HTTPConnectionPool(host='api.openweathermap.org', port=80): Max
retries exceeded with url:
/data/2.5/weather?q=*REDACTED*&appid=*REDACTED* (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x00000229035A1370>: Failed to establish a new connection: [WinError
10060] A connection attempt failed because the connected party did not
properly respond after a period of time, or established connection
failed because connected host has failed to respond'))        

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File
"c:\Users\*REDACTED*\Training\Code\Python\weather.py", line 7, in
<module>
    request = requests.get(url)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\api.py",
line 75, in get
    return request('get', url, params=params, **kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\api.py",
line 61, in request
    return session.request(method=method, url=url, **kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\sessions.py",
line 542, in request
    resp = self.send(prep, **send_kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\sessions.py",
line 655, in send
    r = adapter.send(request, **kwargs)   File "C:\Users\*REDACTED*\Python\Python39\lib\site-packages\requests-2.26.0-py3.9.egg\requests\adapters.py",
line 516, in send
    raise ConnectionError(e, request=request) requests.exceptions.ConnectionError:
HTTPConnectionPool(host='api.openweathermap.org', port=80): Max
retries exceeded with url:
/data/2.5/weather?q=*REDACTED*&appid=*REDACTED* (Caused by
NewConnectionError('<urllib3.connection.HTTPConnection object at
0x00000229035A1370>: Failed to establish a new connection: [WinError
10060] A connection attempt failed because the connected party did not
properly respond after a period of time, or established connection
failed because connected host has failed to respond'))

तथ्यों/की गई कार्रवाइयों का त्वरित संदर्भ: -प्रॉक्सी को set proxy... कमांड के माध्यम से सभी पायथन इंस्टेंस के लिए विश्व स्तर पर सेट करने का प्रयास किया। - venv का उपयोग नहीं करना। -विजुअल स्टूडियो कोड टर्मिनल के माध्यम से निष्पादित करने से पहले कमांड के अंत में --proxy... तर्क जोड़ने का प्रयास किया। -विंडोज 10 एंटरप्राइज पर।

मैं पाठ्यक्रम के अगले मॉड्यूल में जाने में असमर्थ हूं क्योंकि मुझे काम करने के लिए इस कोड की आवश्यकता है ताकि मुझे पता चले कि कोड के अगले सेट में त्रुटि को कैसे ठीक करना है जो मुझे करना होगा। मैं भी क्षमा चाहता हूं अगर यह बहुत सारे शब्द हैं (मैं एक कारण के लिए एक नोब हूं, मुझे लगता है), लेकिन मैं वास्तव में किसी की भी सराहना करता हूं जो मेरा मार्गदर्शन कर सकता है।

2
AtlasWraith 17 अगस्त 2021, 19:24

2 जवाब

सबसे बढ़िया उत्तर

एक सहयोगी की मदद के लिए धन्यवाद, मैं उस लिंक की बेहतर व्याख्या करने में सक्षम था जो Сергей Зайков संदर्भित। आखिर यह एक प्रॉक्सी इश्यू था।

कोड में अपना समायोजन करने के बाद, मैं नीचे की पंक्तियों को जोड़कर और request.get को अपडेट करके इसे संशोधित करने में सक्षम था।

http_proxy = "http://*REDACTED*:8080"

proxyDict = {"http" : http_proxy}

request = requests.get(url, proxies=proxyDict)

अब मैं अपने कोड को इच्छानुसार चलाने में सक्षम हूं।

0
AtlasWraith 18 अगस्त 2021, 18:54

अनुरोधों के लिए प्रॉक्सी अपने तरीके से सेट करें अनुरोधों में प्रॉक्सी

0
Сергей Зайков 17 अगस्त 2021, 17:59