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

有没有办法强制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 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵
  • ¥15 cfx离心泵非稳态计算