Czy istnieje odpowiednik dla curl --resolve ....
w bibliotece PHP CURL?Curl --resolve odpowiednik w bibliotece PHP CURL
Kontekst: Posiadam usługę DNS typu "round-robin" (jedna nazwa domeny jest rozpoznawana dla wielu adresów IP) i chcę wysłać żądanie do hosta o konkretnej nazwie , pod numerem. Używam hostów wirtualnych opartych na nazwach apache, dlatego poprawna nazwa domeny musi pojawić się w żądaniu HTTP.
Podjęto próbę określenia adresu IP w adresie URL żądania: curl_setopt($ch, CURLOPT_URL, '127.0.0.1')
i przy użyciu curl_setopt($ch, CURLOPT_HTTPHEADER, 'Host: example.com')
. Działa dla HTTP, ale dla HTTPS otrzymuję błąd weryfikacji SSL (podobno CURL weryfikuje certyfikat względem nazwy hosta URL i NOT Host:
nazwy hosta).
Użycie pliku hosts
nie jest wygodną opcją.
Wielkie dzięki. Niestety PHP/CURL nie obsługuje jeszcze CURLOPT_RESOLVE (jest w bagażniku, ale jeszcze nie jest włączony do stabilnego wydania). – Sandman4
'CURLOPT_RESOLVE' jest teraz obsługiwany przez PHP/CURL. Zostało to dodane w PHP 5.5.0 ([Changelog] (http://php.net/ChangeLog-5.php#5.5.0)) –
Pamiętaj, że musisz mieć zainstalowaną wersję biblioteki curl, która ją obsługuje. Nawet jeśli masz PHP 5.5.38 tak jak ja, jeśli twoja podstawowa wersja libcurl jest <7.21.3, to nie zadziała! – nvahalik