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 중국어 웹사이트의 기타 관련 기사를 참조하세요!