droc60607 2013-12-13 19:54
浏览 436
已采纳

有没有办法强制curl使用特定的IP而不是使用DNS查找?

What I want to do is to send a curl request to example.com but rather than using a DNS lookup I want to specifically send the request to say 1.1.1.1

I want to do this because I want to know for certain which of our servers the request is going to and not be bumped around by a load balancer.

I wonder if there is something like this:

$ch = curl_init();
curl_setopt( CURLOPT_URL, 'example.com' );
curl_setopt( CURLOPT_ENDPOINT_IP, '1.1.1.1' ); // <= is there something like this?

I'm pretty sure there isn't a mechanism within curl itself to do this, but how could I achieve this effect?

The server at the IP itself is running vhosts and so its important that the HTTP request includes a named Host and not an IP, which is why I need to put a named host in the request but attach to it by IP address.

  • 写回答

1条回答 默认 最新

  • dousuize3082 2013-12-13 19:58
    关注
    curl_setopt( $ch, CURLOPT_URL, 'http://1.1.1.1/' );
    curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Host: example.com') );
    

    The power of HTTP protocol knowledge ;)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献