PHP CURLライブラリにcurl --resolve ....
の相当品はありますか?PHP CURLライブラリでcurl --resolve相当のものがあります
背景:ラウンドロビンDNS(1つのドメイン名が複数のIPに解決されます)があり、の特定のホストにリクエストを送信したいとします。私はApacheベースの仮想ホストを使用しているので、正しいドメイン名がHTTP要求に現れなければなりません。
リクエストURLにcurl_setopt($ch, CURLOPT_URL, '127.0.0.1')
というIPを指定してみましたが、curl_setopt($ch, CURLOPT_HTTPHEADER, 'Host: example.com')
を使用しました。それはHTTPで動作しますが、HTTPSではSSL検証エラーが発生します(CURLは証明書とURLのホスト名を確認し、ホスト名はHost:
ではないことが明らかです)。
hosts
ファイルを使用するのは便利なオプションではありません。
ありがとうございます。残念ながら、PHP/CURLはまだCURLOPT_RESOLVEをサポートしていません(トランクにありますが、まだ安定版に組み込まれていません)。 – Sandman4
PHP/CURLで 'CURLOPT_RESOLVE'がサポートされるようになりました。これはPHP 5.5.0([Changelog](http://php.net/ChangeLog-5.php#5.5.0))に追加されました –
これをサポートするlib curlがインストールされている必要があります。 PHP 5.5.38を持っていても、libcurlの基本バージョンが<7.21.3であれば動作しません! – nvahalik