È impostata solo la chiave http
La chiave indica lo schema della destinazione, non quello del proxy. Un dizionario con la sola http instrada l’HTTP in chiaro e lascia uscire direttamente tutte le chiamate HTTPS, senza alcun errore che te lo segnali.
Indirizza requests verso un indirizzo ISP statico: un solo IP sulla rete di un provider internet indicato per nome, mantenuto per il periodo che paghi. Il codice qui sotto è stato eseguito su un proxy con autenticazione prima della pubblicazione.
In breve: Passa un dizionario proxies con entrambe le chiavi http e https, ciascuna impostata su http://USERNAME:PASSWORD@HOST:PORT, e requests invia la chiamata tramite il proxy; le destinazioni HTTPS lo attraversano come tunnel. Per SOCKS5, installa requests[socks], passa il proxy a SOCKS5 sul tuo ordine e usa lo schema socks5h, così i nomi host li risolve il proxy e non la tua macchina.
Python requests prende il proxy da un dizionario che associa lo schema dell’URL di destinazione a un URL del proxy. Questa guida imposta quel dizionario per un indirizzo ISP statico e mostra i tre punti in cui può stare: su una chiamata, su una sessione o nell’ambiente.
La maggior parte dei proxy, compresi i nostri, chiede nome utente e password. requests li legge dall’URL del proxy e li invia al proxy a ogni connessione. Per una destinazione HTTPS il proxy apre un tunnel e non vede mai il contenuto della richiesta. Le schede del codice mostrano la forma per singola richiesta e quella per sessione.
Host, porta, nome utente e password, da I miei proxy nella dashboard oppure dall’ordine nell’API. Ogni indirizzo ha i suoi quattro valori; non c’è un gateway condiviso.
http://USERNAME:PASSWORD@HOST:PORT. Se la password contiene /, ?, # o %, codificala prima per l’URL con urllib.parse.quote(password, safe="").
Assegna lo stesso URL alla chiave http e alla chiave https. Con la sola http, tutte le richieste HTTPS saltano il proxy e partono dal tuo indirizzo.
Richiedi una pagina che mostri l’IP di chi chiama, oppure apri What Is My IP tramite lo stesso proxy, e verifica che sia l’indirizzo che hai acquistato.
Passa sempre timeout=: per impostazione predefinita requests aspetta all’infinito, e una connessione bloccata sembra allora uno script che si è piantato.
import requests
# The four values come with your order (dashboard or API)
proxy = "http://USERNAME:PASSWORD@HOST:PORT"
response = requests.get(
"https://example.com/",
proxies={"http": proxy, "https": proxy},
timeout=30,
)
response.raise_for_status()
print(response.status_code)
import requests
proxy = "http://USERNAME:PASSWORD@HOST:PORT"
with requests.Session() as session:
# HTTP_PROXY / HTTPS_PROXY in the environment would override
# session.proxies; this makes the session use only its own setting.
session.trust_env = False
session.proxies.update({"http": proxy, "https": proxy})
response = session.get("https://example.com/", timeout=30)
response.raise_for_status()
print(response.status_code)
# pip install "requests[socks]"
import requests
# Switch the proxy to SOCKS5 first; use the values the order then shows.
# socks5h: the proxy resolves the hostname, not your machine.
proxy = "socks5h://USERNAME:PASSWORD@HOST:PORT"
response = requests.get(
"https://example.com/",
proxies={"http": proxy, "https": proxy},
timeout=30,
)
response.raise_for_status()
print(response.status_code)
Ogni esempio si collega tramite un proxy HTTP con nome utente e password, tranne quello SOCKS5, che richiede prima di passare il proxy a SOCKS5; a quel punto l’ordine mostra una nuova porta e nuove credenziali da usare. Sostituisci i quattro valori in maiuscolo con quelli del tuo ordine.
| Ambito | Credenziali | Quando usarlo | |
|---|---|---|---|
| proxies= su una chiamata | Quella singola richiesta | Nell’URL | Uno script con poche chiamate |
| Session.proxies | Tutte le richieste della sessione | Nell’URL | Qualsiasi cosa più lunga, con trust_env su False |
| HTTP_PROXY e HTTPS_PROXY | Tutte le chiamate requests del processo | Nell’URL | Codice che non puoi modificare; NO_PROXY elenca gli host da escludere |
| URL socks5h:// | L’ambito in cui è impostato | Nell’URL | Quando i nomi host vanno risolti sul proxy |
La chiave indica lo schema della destinazione, non quello del proxy. Un dizionario con la sola http instrada l’HTTP in chiaro e lascia uscire direttamente tutte le chiamate HTTPS, senza alcun errore che te lo segnali.
Con socks5 è la tua macchina a risolvere il nome host e a passare al proxy un IP. Con socks5h lo risolve il proxy, quindi la richiesta DNS e la sua risposta arrivano dalla rete del proxy, e questo conta per i siti che rispondono in base alla posizione.
Una barra, un punto interrogativo o un cancelletto nella password troncano l’URL, e requests fallisce prima di raggiungere il proxy; un segno di percentuale viene decodificato come sequenza di escape. Codifica la password per l’URL, oppure usa l’autenticazione tramite whitelist IP e lascia fuori le credenziali.
requests legge HTTP_PROXY, HTTPS_PROXY e NO_PROXY a meno che tu non imposti trust_env su False nella sessione, e queste variabili prevalgono su Session.proxies. Una variabile rimasta su un server può mandare il traffico di una sessione dove non volevi, o fargli aggirare il proxy.
Metti nome utente e password nell’URL del proxy, http://USERNAME:PASSWORD@HOST:PORT, e passalo sia per la chiave http sia per la chiave https. requests invia le credenziali al proxy, che risponde 407 se sono sbagliate. Codifica una password che contiene caratteri riservati, oppure usa una whitelist IP.
Installa l’extra con pip install requests[socks], passa il proxy stesso a SOCKS5 sul tuo ordine e usa la porta e le credenziali che l’ordine mostra a quel punto in un URL socks5h://. Cambiare solo lo schema non basta: un indirizzo impostato su HTTP non risponde in SOCKS5 finché non viene passato a SOCKS5. SOCKS5
Sì. Aggiungi alla whitelist del proxy l’indirizzo IPv4 pubblico da cui gira il tuo script con una chiamata API, PUT /orders/ORDER_ID/whitelist, oppure tramite il server MCP; la dashboard non ha ancora un comando per farlo. Il proxy accetta allora le connessioni da quell’indirizzo senza credenziali, in HTTP e in SOCKS5, e l’URL diventa http://HOST:PORT. Finché una whitelist è impostata, il proxy ammette solo gli indirizzi della lista e nome utente e password smettono di funzionare per quell’ordine; inviando una lista vuota la whitelist si disattiva e l’accesso con password torna a funzionare.
No. Un proxy ISP statico è un solo indirizzo per il periodo che paghi, e ogni richiesta che invii tramite esso parte da quell’indirizzo. Se un lavoro ha bisogno di un indirizzo diverso a ogni richiesta, serve un pool a rotazione, che non vendiamo ancora.
Richiedi tramite lo stesso proxy una pagina che restituisca l’indirizzo di chi chiama, oppure apri What Is My IP da un browser impostato su quel proxy. Se mostra il tuo indirizzo, probabilmente manca la chiave https. Qual è il mio IP
I test dei tuoi siti per regione, i controlli di qualità, la verifica degli annunci, le ricerche di prezzi e di mercato e la tutela del marchio non richiedono alcuna revisione secondo la nostra politica di utilizzo accettabile. Il proxy non aggira CAPTCHA, rilevamento dei bot, limiti di frequenza o ban degli account, e la politica vieta di usarlo per provarci. Politica di Utilizzo Accettabile