在
PHP CURL库中是否存在curl –resolve ….的等价物?
背景:我有循环DNS(一个域名解析为多个IP),我想向特定主机发送请求.我使用基于apache名称的虚拟主机,因此必须在HTTP请求中显示正确的域名.
我尝试在请求URL中指定IP:curl_setopt($ch,CURLOPT_URL,’127.0.0.1′),并使用curl_setopt($ch,CURLOPT_HTTPHEADER,’Host:example.com’).它适用于HTTP,但对于HTTPS,我得到SSL验证错误(显然CURL验证证书与URL主机名和NOT主机:主机名).
使用hosts文件不是一个方便的选择.
解决方法
首先,通过使用
–libcurl选项来获得任何curl选项转换为libcurl(或PHP / CURL)的答案的最佳方法.
如果这样做,您将了解–resolve转换为CURLOPT_RESOLVE与libcurl,在PHP since 5.5.0中受支持.自7.21.3以来由libcurl支持.