Maison  >  Article  >  développement back-end  >  Solution : urllib3 ProxySchemeUnknown (proxy.scheme)

Solution : urllib3 ProxySchemeUnknown (proxy.scheme)

WBOY
WBOYavant
2024-02-29 19:01:23429parcourir

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

Cause du rapport d'erreurs

L'erreur ProxySchemeUnknown (proxy.scheme) de urllib3 est généralement causée par l'utilisation d'un protocole proxy non pris en charge. Dans ce cas, urllib3 ne reconnaît pas le type de protocole du serveur proxy et ne peut donc pas utiliser le proxy pour la connexion réseau. Pour résoudre ce problème, vous devez vous assurer que vous utilisez un protocole proxy pris en charge, tel que Http ou https

Comment le résoudre

Pour résoudre ce problème, vous devez vous assurer que vous utilisez un. protocole proxy pris en charge, tel que HTTP ou HTTPS.

Vous pouvez résoudre ce problème en définissant les paramètres proxy de urllib3.

Si vous utilisez un proxy http, l'exemple de code est le suivant :

import urllib3

http = urllib3.PoolManager()

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

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

print(r.data)

Si vous utilisez le proxy https, l'exemple de code est le suivant :

import urllib3

https = urllib3.PoolManager()

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

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

print(r.data)

Si vous utilisez une bibliothèque ou un framework tiers, vous devriez consulter leur documentation pour des informations plus détaillées.

De plus, il convient de noter que l'utilisation d'un proxy nécessite une authentification du serveur proxy. Si une authentification est requise, le nom d'utilisateur et le mot de passe doivent être transmis lors de la création de l'objet proxy.

Exemple d'utilisation

Oui, si vous devez authentifier le proxy à l'aide d'un nom d'utilisateur et d'un mot de passe, vous pouvez utiliser la classe ProxyManager d'urllib3 et transmettre le nom d'utilisateur et le mot de passe pour configurer l'authentification.

L'exemple de code est le suivant :

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)

ou

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)

Si vous utilisez une bibliothèque ou un framework tiers, vous devriez consulter leur documentation pour des informations plus détaillées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer