curl 서버 IP 지정하여 전송하는 방법
예전에는 특정 서버IP로 지정하여 테스트 할때 아래와 같이 사용하기도 하였습니다.
하지만 요즘은 https 프로토콜을 사용해야 되서 아래 방식은 곤란합니다.
telnet 223.130.200.107 80
GET /robots.txt HTTP/1.0
Host: www.naver.com
https 사용하면서 curl을 사용하게 되었습니다.
특정서버의 IP를 지정하여 사용하는 방법은 --resolve 옵션을 주는것입니다.
--resolve HOST:PORT:ADDRESS Force resolve of HOST:PORT to ADDRESS
curl -v --resolve www.naver.com:443:223.130.200.107 https://www.naver.com/robots.txt
* 메소드 지정해 주기
curl -X GET -v --resolve www.naver.com:443:223.130.200.107 https://www.naver.com/robots.txt
* 호스트명 지정해주기
curl -H 'Host: www.naver.com' https://223.130.200.107/robots.txt
* 아래 방식은 지원되는 버전 확인 필요
curl --connect-to ::223.130.200.107 https://www.naver.com/robots.txt
* PHP에서는 아래와 같이사용합니다
curl_setopt($ch, CURLOPT_RESOLVE, ["$resolveHost:443:$serverIP"]);