curl и рега gmail

Тема в разделе "PHP", создана пользователем satih, 25 окт 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Привет всем, нужно раз от разу нарегать ящиков 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 КБ
      Просмотров:
      5
  2. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421

    Заходим в раздел Web Coding и жмем Поиск в этой теме. В поле поиска пишем gmail. По вашему вопросу были примерно подобные темы, т.е. в сути вопроса можно получить ответ.
     
    satih нравится это.
  3. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Если речь о:
    PHP:
    curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    непомогает, пробовал.
    Так же видел советы поменять libeay32.dll на последний в апаче и php (тестю на денвере, там разные версии dll-ки) и system32, тоже не помогло.

    Проблема не в том что не могу подключится, а в том что отдает зашифрованный файл, явно какая-то хрень с сертификатом, но не могу найти в чем именно проблема.
     
  4. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    там происходит передача данных с шифрованием через ssl, так что для работы нужно подключать mod_ssl (помоему так)... и потом от этого плясать.
     
    satih нравится это.
  5. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Наверное ты хотел написать php_openssl.dll
     
    satih нравится это.
  6. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    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, но кажется мне что просто усложняю простую задачу.
     
  7. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    $curl curl_init();
    curl_setopt($curlCURLOPT_URL'https://www.google.com/accounts/NewAccount?service=mail&continue=http://mail.google.com/mail/e-11-11703cf556a74bf836bb8643bb6ba69e-ea0de7a68944cda1609b00ee8cd2c1cac5e36b3d&type=2');
    curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($curlCURLOPT_SSL_VERIFYHOSTfalse);
    curl_setopt($curlCURLOPT_PORT443);
    curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    $content curl_exec($curl);
    echo(
    $content);


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

    LIBEAY32.dll скопируй из папки пхп, в папку windows\system32
     
    satih нравится это.
  8. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Всем спасибо огромное за помощь, потратил пару дней и нервов, решение как всегда простое, слишком перелопаченый денвер. На всякий, если у кого еще будет подобная проблема, переустановил денвер с дополнительными модулями, раскомментил 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($curlCURLOPT_URL'https://www.google.com/accounts/NewAccount?service=mail&continue=http://mail.google.com/mail/e-11-11703cf556a74bf836bb8643bb6ba69e-ea0de7a68944cda1609b00ee8cd2c1cac5e36b3d&type=2');
    curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
    curl_setopt($curlCURLOPT_SSL_VERIFYHOSTfalse);
    curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    $content curl_exec($curl);
    echo 
    $content;
    ?>
     
  9. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Недавно тоже занимался регой gmail'а. Может тебе будет полезно. Там есть переменная, отвечающая за события нажатий клавиш пользователем. На основе этих данных + времени генерируется переменная ktl, которая потом передается на сервер. На сколько я понял, от этой переменной + еще от ряда факторов зависит, потребуют ли подтверждение по телефону или нет. Можно разбираться в JS, который генерирует ktl и писать аналог. Но я не стал =) Сделал на C++ эмуляцию действий человека в браузере. Все-равно в 50% требуется подтверждение по смс. Вроде как, если установить гугл-тулбар, то подтверждение не будет требоваться, но проверить все не доходят руки.

    Очень хотел бы услышать, как ты решил данную проблему. Желательно в личку. Спасибо
     
  10. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    Пока еще не решил, но думаю смс-ы решить соксами, до этого если пару ящиков нужно было, регал руками с быстрым заполнением форм с roboform (автозаполнение форм), первые пару ящиков регались без смс, так что надеюсь что проблема в количестве регистраций с одного сокса. Если выйдет что-то толковое, стукну в личку.
     
Статус темы:
Закрыта.