curl и рега gmail

Статус
В этой теме нельзя размещать новые ответы.

satih

Хранитель порядка
Регистрация
19 Сен 2008
Сообщения
401
Реакции
721
Привет всем, нужно раз от разу нарегать ящиков gmail, начал писать регер на curl, пытаюсь получить страницу с формой заполнения данных, возвращает крякозябры. Подробней:
Захожу на линк
HTML:
https://www.google.com/accounts/NewAccount?service=mail&continue=http%3A%2F%2Fmail.google.com%2Fmail%2Fe-11-116f2f99ab14d648a414bcebbab6ca66-63ae9bc2702e95943db572dac0919311b33a1a62&type=2
ставлю запрос и куки которые показал сниффер, получаю закодированный результат (присоединил в аттаче).
Посоветовали обратить внимание на сертификат (может просто ответ закодирован), но с ними особо не работал.

Если сможете помочь/поделится опытом с сертификатами, gmail, или другие идеи, буду благодарен.
 

Вложения

  • out.rar
    24,5 KB · Просмотры: 5
Если речь о:
PHP:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
непомогает, пробовал.
Так же видел советы поменять libeay32.dll на последний в апаче и php (тестю на денвере, там разные версии dll-ки) и system32, тоже не помогло.

Проблема не в том что не могу подключится, а в том что отдает зашифрованный файл, явно какая-то хрень с сертификатом, но не могу найти в чем именно проблема.
 
там происходит передача данных с шифрованием через ssl, так что для работы нужно подключать mod_ssl (помоему так)... и потом от этого плясать.
 
там происходит передача данных с шифрованием через ssl, так что для работы нужно подключать mod_ssl (помоему так)... и потом от этого плясать.

Наверное ты хотел написать php_openssl.dll
 
mod_ssl модуль апача, php_openssl.dll для php.

расскоментировал
Код:
extension=php_openssl.dll;
денвер выдал ошибку
Код:
The ordinal 3879 could not be located in the dynamic link library LIBEAY32.dll
На форуме денвера пишут поменять на новый libeay32.dll, либо поставить апачу тот-же что и в php чтоб версии одинаковые были, их советы не помогли, даже хуже, после них апач перестал запрос на https:// отдавать.

На хостинге с поддержкой ssl тоже запрос отдал зашифрованный файл, видно сертификат надо все же как то прикрутить. Есть для этого переменные CURLOPT_CAINFO, CURLOPT_CAPATH, но кажется мне что просто усложняю простую задачу.
 
PHP:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.google.com/accounts/NewAccount?service=mail&continue=http://mail.google.com/mail/e-11-11703cf556a74bf836bb8643bb6ba69e-ea0de7a68944cda1609b00ee8cd2c1cac5e36b3d&type=2');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_PORT, 443);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
echo($content);



вот рабочий код

LIBEAY32.dll скопируй из папки пхп, в папку windows\system32
 
Всем спасибо огромное за помощь, потратил пару дней и нервов, решение как всегда простое, слишком перелопаченый денвер. На всякий, если у кого еще будет подобная проблема, переустановил денвер с дополнительными модулями, раскомментил extension=php_curl.dll и extension=php_openssl.dll, и переписал libeay32.dll из папки \usr\local\php5 (именно из папки \usr\local\php5, а не последнею с офф сайта) в \usr\local\apache\bin (у оригинальных файлов не совпадают версии, результат ошибка которую написал постом выше, у меня сработало без смены C:\WINDOWS\system32\libeay32.dll, хотя там другая версия), и все сработало. Минимальная версия рабочего кода:
PHP:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.google.com/accounts/NewAccount?service=mail&continue=http://mail.google.com/mail/e-11-11703cf556a74bf836bb8643bb6ba69e-ea0de7a68944cda1609b00ee8cd2c1cac5e36b3d&type=2');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
echo $content;
?>
 
Всем спасибо огромное за помощь, потратил пару дней и нервов, решение как всегда простое, слишком перелопаченый денвер. На всякий, если у кого еще будет подобная проблема, переустановил денвер с дополнительными модулями, раскомментил extension=php_curl.dll и extension=php_openssl.dll, и переписал libeay32.dll из папки \usr\local\php5 (именно из папки \usr\local\php5, а не последнею с офф сайта) в \usr\local\apache\bin (у оригинальных файлов не совпадают версии, результат ошибка которую написал постом выше, у меня сработало без смены C:\WINDOWS\system32\libeay32.dll, хотя там другая версия), и все сработало. Минимальная версия рабочего кода:
PHP:
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.google.com/accounts/NewAccount?service=mail&continue=http://mail.google.com/mail/e-11-11703cf556a74bf836bb8643bb6ba69e-ea0de7a68944cda1609b00ee8cd2c1cac5e36b3d&type=2');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
echo $content;
?>

 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху