php - curl --resolve 在 PHP CURL 库中等效

标签 php http ssl curl

在 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 主机名而不是 Host: 主机名)。

使用 hosts 文件不是一个方便的选择。

最佳答案

首先,了解任何 curl 选项如何转换为 libcurl(或 PHP/CURL)的最佳方法是使用 --libcurl选项。

如果这样做,您将了解到 --resolve转换为 CURLOPT_RESOLVE使用 libcurl,PHP 支持 since 5.5.0 .自 7.21.3 起由 libcurl 支持.

关于php - curl --resolve 在 PHP CURL 库中等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10433016/

相关文章:

PHP oop fatal error : Uncaught SoapFault exception:

apache - 如何在 Ubuntu 20.04 上的 Apache 上启用旧的 TLS 1.0 和 TLS 1.1

javascript - 将 php json 传递给 google map API 的 javascript 对象

php - 从数据库中对用户进行分组

php - 讲述函数是如何被调用的

android - 为什么我的应用程序收到 415 http 错误但 postman 收到 200?

php - 使用 PHP 解析 88 GB rdf

node.js - 如何使用node.js和http下载文件?

java - 从 HTTP 服务器中的套接字读取的推荐方法

c - libssh2 channel SSL BIO 使用