php CURLOPT_RESOLVE不起作用

时间:2018-04-18 20:21:38

标签: php curl

我在Centos 6,PHP 5.6.35,

  

curl 7.59.0(x86_64-redhat-linux-gnu)libcurl / 7.59.0 OpenSSL / 1.0.1e   zlib / 1.2.3 c-ares / 1.14.0 libssh2 / 1.8.0 nghttp2 / 1.6.0

我试图强制curl使用HTTPS使用IP(我的局域网中的网络服务器):

  curl_setopt($ch, CURLOPT_URL, "https://" . $domain . "/");
  curl_setopt($ch, CURLOPT_RESOLVE, array( $domain . ":443:192.168.1.10"));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
  curl_setopt($ch, CURLOPT_HEADER, true);
  curl_setopt($ch, CURLOPT_NOBODY, true);
  curl_setopt($ch, CURLOPT_VERBOSE, true);
  $output = curl_exec($ch);

它一直连接到$ domain的真实公共IP。 我也明白了:

  

PHP注意:使用未定义的常量CURLOPT_RESOLVE - 假设' CURLOPT_RESOLVE'在......

     

PHP警告:curl_setopt()期望参数2为long,字符串在......

中给出

1 个答案:

答案 0 :(得分:1)

出于某种原因,来自city-fan的curl 7.59版本不起作用。

我已经使用

在Centos 7上进行了测试
  

curl 7.29.0(x86_64-redhat-linux-gnu)libcurl / 7.29.0 NSS / 3.21 Basic   ECC zlib / 1.2.7 libidn / 1.28 libssh2 / 1.4.3

它有效。