2012-02-25 32 views

risposta

287

modo generale:

export http_proxy=http://your.proxy.server:port/ 

quindi è possibile collegare mediante delega da (molti) applicazione.

E, come da commento qui sotto, per https:

export https_proxy=https://your.proxy.server:port/ 
+63

Quando hai bisogno di proxy del traffico HTTPS, la variabile d'ambiente è maiuscola: HTTPS_PROXY – phatblat

+0

Cosa devo fare se devo specificare porto una volta? – orlybg

+9

Da [man pages] (http://curl.haxx.se/docs/manpage.html) Le variabili di ambiente possono essere specificate in minuscolo o in maiuscolo. La versione minuscola ha la precedenza. http_proxy è un'eccezione in quanto è disponibile solo in minuscolo. L'utilizzo di una variabile di ambiente per impostare il proxy ha lo stesso effetto dell'utilizzo dell'opzione --proxy. –

429

Da man curl:

-x, --proxy <[protocol://][user:[email protected]]proxyhost[:port]> 

    Use the specified HTTP proxy. 
    If the port number is not specified, it is assumed at port 1080. 
+0

ricciolo: (7) non ha potuto collegarsi ad ospitare ricciolo: (7) non ha potuto collegarsi ad ospitare – user873286

+0

ottengo sopra errore quando ho eseguito questo comando: ricciolo -x, --proxy 122.72.2.200 : 80 http://www.mysite.com/test.php?id=1 – user873286

+42

"-x, --proxy" significa che è possibile utilizzarne uno. Il comando dovrebbe essere "curl -x 122.72.2.200:80 http://mysite.com/test.php?id=1" o "curl --proxy 122.72.2.200:80 http://mysite.com/test .php? id = 1 " – IBBoard

81

Le soluzioni di cui sopra potrebbero non funzionare con alcune versioni ricciolo li ho provato per me stesso (ricciolo 7.22.0). Ma quello che ha funzionato per me è stato:

curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url 

Spero che risolva meglio il problema!

+0

Eseguito nello stesso problema, il curl spedito da Debian Wheezy non supporta ancora il trucco env – zsero

+0

Questo invece '' [1] 4812' –

34

come adition a airween, un'altra buona idea è quella di aggiungere questo nel vostro .bashrc, così sarete in grado di passare da non proxy all'ambiente Proxied:

alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'" 
alias proxyoff="export http_proxy='';export https_proxy=''" 

DOVE YOURPROXY: YOURPORT è esattamente quello, il tuo ip e port proxy :-).

Poi, semplicemente facendo

proxyon 

il sistema inizierà a utilizzare il proxy, e proprio l'opposto con:

proxyoff 
+0

è molto utile quando si cambia rete. grazie – albanx

26

yo u possibile utilizzare:

curl http://www.example.com --proxy http://125.119.175.48:8909 

come ha spiegato Karl

+11

"come spiegato da Karl", il che significa che questa risposta non è migliore di una copia di quella risposta. – Raedwald

25

utilizzare la seguente

curl -I -x 192.168.X.X:XX http://google.com

192.168.X.X:XX mettere il vostro IP del server proxy e la porta.

-v modalità prolissa che fornirà maggiori dettagli tra cui intestazioni e risposta.

+1

Questa dovrebbe essere la risposta. Non tutti vogliono specificare una variabile globale (esportazione) per ogni richiesta HTTP eseguita da ogni client HTTP sul proprio host. Questa opzione offre maggiore flessibilità, IMHO. – ivanleoncz

11

Per curl è possibile configurare proxy nel file ~/.curlrc aggiungendo proxy valore, la sintassi è:

proxy = http://username:[email protected]:port 
2

Non è necessario esportare la variabile http[s]_proxy shell se si sta solo impostando il proxy per un comando unico. per esempio.

http_proxy=http://your.proxy.server:port curl http://www.example.com 

Detto questo, preferirei curl -x se sapevo che stavo andando sempre utilizzare un proxy.

5

Con un proxy con autenticazione che uso:

curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url> 

perché, non so il motivo per cui ricciolo non usa/catch http [s] _Proxy variabili d'ambiente.

0

Nel caso in cui il proxy utilizzi il proxy automatico con il file PAC. Possiamo trovare il proxy effettivo dal javascript dall'URL del PAC.

E se il proxy necessita di autenticazione, possiamo prima utilizzare un normale browser Web per accedere al sito Web che promuoverà la finestra di autenticazione. Dopo l'autenticazione, possiamo utilizzare Wireshark per catturare il pacchetto http invia al server proxy, dal pacchetto http, siamo in grado di ottenere il token di autenticazione da intestazione http: Proxy-Authorization

Poi possiamo impostare la variabile d'ambiente http_proxy e comprendono anche auth token nel intestazione http: Proxy-Authorization

export http_proxy = http://proxyserver:port

ricciolo -H "Proxy-Authorization: xxxx" http://targetURL

7

Mi piace usare questo al fine di ottenere l'IP sotto il quale mi sono visto

curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo 

Spero che questo aiuti qualcuno.

2

A seconda del luogo di lavoro, potrebbe anche essere necessario specificare l'opzione -k o --insecure per il ricciolo per evitare potenziali problemi con i certificati CA.

curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download> 
Problemi correlati