php curl 本地host配置的域名的不起作用的解决方法

php curl 本地host配置的域名的不起作用的解决方法

今天使用curl时又遇到域名需要使用 指定的 host, 但没效果

解决方法:CURL的host重写

CURLOPT_RESOLVE

格式

HOST:PORT:ADDRESS[,ADDRESS]

举个例子

curl_setopt($ch, CURLOPT_RESOLVE, ["domain.com:443:ip"]);

此外,如果本地curl比较快,服务器上curl慢的解决方法

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); 

记录下来,也希望能帮助到需要的人!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PHPCURL 报 "Could not resolve host" 错误通常是由于无法解析目标主机名导致的。这可能是由于目标主机名不存在、DNS 解析故障或者网络连接问题等原因引起的。 解决该问题的方法如下: 1. 检查目标主机名是否正确存在。您可以尝试通过 ping 命令检查该主机名是否能够正常解析,例如: ``` ping example.com ``` 如果无法正常解析,则可能是 DNS 配置有问题,您需要联系您的服务器管理员或者 DNS 服务提供商进行排查。如果可以正常解析,则可以进行下一步排查。 2. 检查您的代码中是否正确设置了 CURLOPT_URL 选项。例如: ``` $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); if(curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } else { echo '请求成功'; } curl_close($ch); ``` 请注意,CURLOPT_URL 选项必须设置为有效的 URL 地址,否则会出现 "Could not resolve host" 错误。您需要确保您输入的 URL 地址正确存在,并且在您的服务器上能够进行 DNS 解析。 3. 检查您的服务器网络连接是否正常。您可以尝试使用其他工具测试您的服务器是否能够正常访问目标主机,例如使用 telnet 命令进行测试: ``` telnet example.com 80 ``` 如果连接成功,则说明您的服务器网络连接正常,否则需要检查网络连接设置。 希望以上方法能够帮助您解决 CURL 报 "Could not resolve host" 错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值