Не в первый раз сталкиваюсь, и всё время забываю: не срабатывает curl при https запросе из php4 на win32 (в стандартной установке). HTTP запросы отрабатываются нормально, а HTTPS — нет.
Помогает выключение опции CURLOPT_SSL_VERIFYPEER а так же опции CURLOPT_SSL_VERIFYHOST:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
Update: я не сильно разбираюсь в настройках Curlа, но по-моему эта же проблема может возникать и на не-windows серверах.
определенно, проблема не имеет никакого отношения к win32 )
опция проверяет правильность подписанных сертификатов
зайдите по нужному вам URL любым браузером наверняка он покажет вам диалог, о том что либо неправильно подписанный сертификат
или неправильно выданный не на тот IP и т.п.
Comment by Slach — 26.01.2008 @ 10:50
Я ценю ваше чувство юмора, только прямой связи между подписанностью сертификатов и этим багом нет. Я, собственно, в этот раз напоролся на багу при запросе на www.google.com, а у них с валидностью сертификатов порядок.
Comment by Val Petruchek — 26.01.2008 @ 20:33
Сеошник херов, здесь бесплатные ссылки не раздают.
Comment by Val Petruchek — 27.01.2008 @ 03:19
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
Comment by Anton — 04.06.2009 @ 11:51
Да, Anton, всё так.
Comment by Val Petruchek — 24.10.2009 @ 19:00
Слава тебе, О Великий и могучий мегачувак!
Comment by Shkur — 07.07.2010 @ 17:50
Спасибо! Давно искал знал где зарыто но второго параметра не знал ( curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); )
Comment by Aladin — 03.06.2011 @ 13:45
Вот здесь более подробное описание как это работает:
unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
Comment by Андрей — 08.06.2011 @ 13:05
Avtor idiot!
Comment by gunlinux — 10.10.2013 @ 06:15
> Avtor idiot!
Пошло на хуй тупое чмо. Автор подсказал реально полезную вещь.
Comment by Пыхающий — 19.11.2013 @ 10:32