>  기사  >  백엔드 개발  >  솔루션: urllib3 ProxySchemeUnknown(proxy.scheme)

솔루션: urllib3 ProxySchemeUnknown(proxy.scheme)

WBOY
WBOY앞으로
2024-02-29 19:01:23428검색

解决方案:urllib3 ProxySchemeUnknown(proxy.scheme)

오류 보고 원인

urllib3의 ProxySchemeUnknown(proxy.scheme) 오류는 일반적으로 지원되지 않는 프록시 프로토콜을 사용하여 발생합니다. 이 경우 urllib3은 프록시 server의 프로토콜 유형을 인식하지 못하므로 network 연결에 프록시를 사용할 수 없습니다. 이 문제를 해결하려면 Http 또는 https와 같은 지원되는 프록시 프로토콜을 사용하고 있는지 확인해야 합니다.

수정 방법

이 문제를 해결하려면 HTTP 또는 HTTPS와 같은 지원되는 프록시 프로토콜.

urllib3의 프록시 매개변수를 설정하면 이 문제를 해결할 수 있습니다.

http 프록시를 사용하는 경우 코드 예시는 다음과 같습니다.

import urllib3

http = urllib3.PoolManager()

proxy = urllib3.ProxyManager('http://proxy.server:3128')

r = proxy.request('GET', 'http://httpbin.org/ip')

print(r.data)

https 프록시를 사용하는 경우 코드 예시는 다음과 같습니다.

import urllib3

https = urllib3.PoolManager()

proxy = urllib3.ProxyManager('https://proxy.server:3128')

r = proxy.request('GET', 'https://httpbin.org/ip')

print(r.data)

타사 라이브러리나 프레임워크를 사용하는 경우 자세한 내용은 해당 설명서를 확인하세요.

또한 프록시를 사용하려면 프록시 서버의 인증이 필요하다는 점에 유의하세요. 인증이 필요한 경우 프록시 개체를 생성할 때 사용자 이름과 비밀번호를 전달해야 합니다.

사용 예

예, 사용자 이름과 비밀번호를 사용하여 프록시를 인증해야 하는 경우 urllib3의 ProxyManager 클래스를 사용하고 사용자 이름과 비밀번호를 전달하여 인증을 설정할 수 있습니다.

코드 예시는 다음과 같습니다.

import urllib3

proxy = urllib3.ProxyManager('http://proxy.server:3128',
 proxy_username='username',
 proxy_passWord='password')

r = proxy.request('GET', 'http://httpbin.org/ip')

print(r.data)

또는

import urllib3

proxy = urllib3.ProxyManager('https://proxy.server:3128',
 proxy_username='username',
 proxy_password='password')

r = proxy.request('GET', 'https://httpbin.org/ip')

print(r.data)

타사 라이브러리나 프레임워크를 사용하는 경우 자세한 내용은 해당 설명서를 확인하세요.

위 내용은 솔루션: urllib3 ProxySchemeUnknown(proxy.scheme)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제