cURL로 HTTP 요청 수행 (PROXY 사용)
이 프록시 주소가 있습니다 : 125.119.175.48:8909
과 같은 cURL을 사용 curl http://www.example.com
하지만 네트워크의 프록시 주소를 지정 하여 HTTP 요청을 수행하려면 어떻게해야 합니까?
일반적인 방법 :
export http_proxy=http://your.proxy.server:port/
그런 다음 (다수) 응용 프로그램에서 프록시를 통해 연결할 수 있습니다.
그리고 아래의 의견에 따라 https의 경우 :
export https_proxy=https://your.proxy.server:port/
보낸 사람 man curl
:
-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
위의 솔루션은 일부 컬 버전에서 작동하지 않을 수 있습니다 (컬 7.22.0). 그러나 나를 위해 일한 것은 다음과 같습니다.
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
그것이 문제를 더 잘 해결하기를 바랍니다!
HTTP / HTTPS 프록시 대신 SOCKS 프록시를 사용하는 경우 --socks5
대신 스위치 를 사용해야합니다 .
curl --socks5 125.119.175.48:8909 http://example.com/
프록시 쪽에서 DNS를 확인 하는 --socks5-hostname
대신 사용할 수도 있습니다 --socks5
.
airween에 대한 제안으로, 또 다른 좋은 아이디어는 이것을 .bashrc에 추가하여 프록시되지 않은 환경에서 프록시 환경으로 전환 할 수 있다는 것입니다.
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
YOURPROXY : YOURPORT는 정확히 당신의 IP와 포트 프록시입니다 :-).
그런 다음 간단히
proxyon
시스템은 프록시를 사용하기 시작하며 그 반대의 경우는 다음과 같습니다.
proxyoff
다음을 사용하십시오
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
프록시 서버 IP와 포트를 넣으십시오.
-v
상세 모드에서는 헤더 및 응답을 포함하여 자세한 정보를 제공합니다.
당신이 사용할 수있는 :
curl http://www.example.com --proxy http://125.119.175.48:8909
Karl의 설명대로
나는 내가 본 IP를 얻기 위해 이것을 사용하는 것을 좋아한다.
curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
이것이 누군가를 돕기를 바랍니다.
들어 curl
당신이 당신의 프록시를 구성 할 수 있습니다 ~/.curlrc
( _curlrc
추가하여 Windows의 경우) 파일의 proxy
값을, 구문은 다음과 같습니다
proxy = http://username:password@proxy-host:port
언급 된 모든 답변을 요약하면 다음과 같습니다.
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
인증 프록시를 사용하면 다음을 사용합니다.
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
왜 curl이 http [s] _proxy 환경 변수를 사용 / 캐치하지 않는지 모르겠 기 때문 입니다.
http[s]_proxy
하나의 off 명령에 프록시를 설정하는 경우 쉘 변수 를 내보낼 필요가 없습니다 . 예 :
http_proxy=http://your.proxy.server:port curl http://www.example.com
즉, curl -x
항상 프록시를 사용한다는 것을 알고 있다면 선호 합니다.
직장에 따라 CA 인증서와 관련된 잠재적 문제를 극복하기 위해 curl에 대한 -k
또는 --insecure
옵션 을 지정해야 할 수도 있습니다 .
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
curl이 프록시를 설정해야하기 때문에 오류가 발생했습니다.
프록시를 프록시로 바꾸십시오 . "example"은 http://10.1.1.50:8080/ 입니다.
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
프록시가 PAC 파일과 함께 자동 프록시를 사용하는 경우 PAC URL의 자바 스크립트에서 실제 프록시를 찾을 수 있습니다.
프록시에 인증이 필요한 경우 먼저 일반 웹 브라우저를 사용하여 인증 대화 상자를 홍보하는 웹 사이트에 액세스 할 수 있습니다. 인증 후 wireshark를 사용하여 http 패키지가 프록시 서버로 보내는 http 패키지를 캡처 할 수 있습니다. http 패키지에서 http 헤더에서 인증 토큰을 얻을 수 있습니다. Proxy-Authorization
그런 다음 http_proxy 환경 변수를 설정하고 http 헤더에 인증 토큰을 포함시킬 수 있습니다. Proxy-Authorization
수출 http_proxy = http : // proxyserver : port
curl -H "프록시 인증 : xxxx" http : // targetURL
참고 URL : https://stackoverflow.com/questions/9445489/performing-http-requests-with-curl-using-proxy
'Programming' 카테고리의 다른 글
자식 bisect를 사용하는 방법? (0) | 2020.02.20 |
---|---|
문자열을 문자 배열로 나누는 방법은 무엇입니까? (0) | 2020.02.20 |
JavaScript에서 변수 변경 청취 (0) | 2020.02.20 |
Git push를 사용하여 프로젝트 배포 (0) | 2020.02.20 |
빈 세트 리터럴? (0) | 2020.02.20 |