Авторизация на yahoo.co.jp

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

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

    johny_cc Создатель

    Регистр.:
    15 июл 2008
    Сообщения:
    15
    Симпатии:
    2
    Необходимо авторизироваться на японской яхе. форма авторизации находится тут : Перейти по ссылке
    Если использовать https то выдает пустую страницу. Беру http, для работы использую класс Snoopy. вот код:

    У меня выдает ошибку. Типа в браузере не включены куки.
    Я понимаю что куки после авторизации надо куда-то сохранить, но куда?
     
  2. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    PHP:
    print_r($snoopy->headers);
    print_r($snoopy->cookies);
     
  3. johny_cc

    johny_cc Создатель

    Регистр.:
    15 июл 2008
    Сообщения:
    15
    Симпатии:
    2
    А можно поподробнее?

    данный код
    print_r($snoopy->headers);
    print_r($snoopy->cookies);

    вывел следующее:

    Array
    (
    [0] => HTTP/1.1 200 OK

    [1] => Date: Wed, 09 Sep 2009 14:29:18 GMT

    [2] => P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"

    [3] => Refresh: 900; URL=http://www.yahoo.co.jp/

    [4] => Cache-Control: private

    [5] => Connection: close

    [6] => Content-Type: text/html; charset=euc-jp

    )

    Array
    (
    => 2n93enh5afett&b=4&d=o6B3GudpYF15bJI0T9bxBoaRQ8NUdsdJzHu0uAYT&s=el
    [YLS] => v=1&p=1&n=1
    [F] => a=VOQ347AMvTLifZv0yjyS5IXIrDXLb4sOrc6OiXY.gVbmvr00nR5B5UyNvvhMC9Iw2vjXBMw-&b=INIk
    [Y] => v=1&n=4u9qru6dg785i&l=9e7do2kiirzyv/o&p=m2lvvjpf12000d00&r=lb&lg=ja-JP&intl=jp
    [T] => z=9u7pKB9CjuKB7GWzHYMReI7MzYGMzVPMjc3NDQ3&a=YAE&sk=DAAEuBFBZzRV/k&ks=EAAu3vxIDlsssKn6OyDNfziIg--~C&d=c2wBTkRFQk5ESTROVEF3TXpNdwFhAVlBRQFnAUVPSTJJTllFNFVDQzVCREVEQ1NIN1VFUUtNAW9rAVpXMC0BdGlwAWRoMTByQgF6egE5dTdwS0JBN0U-
    )
     
  4. autos

    autos

    Регистр.:
    14 июл 2007
    Сообщения:
    189
    Симпатии:
    48
    после сабмита используй
    $snoopy->setcookies ();
    почитай внимательней про снупи.

    честно сказать оригинал снупи не очень, приходилось переделывать, дописывать его исходник..
     
  5. johny_cc

    johny_cc Создатель

    Регистр.:
    15 июл 2008
    Сообщения:
    15
    Симпатии:
    2
    Я сегодня только с ним познакомился. Про него документации почти нет, а в исходниках чтоб копаться надо с http работать уметь.
    Если не сложно, можете выложить рабочий пример, если конечно не трудно и много времени не займет.

    Меня еще интересует, почему https авторизация в этом же коде не работает? Пустую страницу выдает.

    И если есть дописаный класс Snoopy очень бы хотелось взглянуть :)
     
  6. johny_cc

    johny_cc Создатель

    Регистр.:
    15 июл 2008
    Сообщения:
    15
    Симпатии:
    2
    Неужели никто не может привести работающий код? тут же чуть больше десятка строк. Помогите пожалуйста.
     
  7. autos

    autos

    Регистр.:
    14 июл 2007
    Сообщения:
    189
    Симпатии:
    48
    Пример 1
    PHP:
       include "Snoopy.class.php";
       
    $snoopy = new Snoopy;
       
    $snoopy->fetchtext("http://www.php.net/");
       print 
    $snoopy->results;
       
    $snoopy->fetchlinks("http://www.phpbuilder.com/");
       print 
    $snoopy->results;
       
    $submit_url "http://lnk.ispi.net/texis/scripts/msearch/netsearch.html";
       
    $submit_vars["q"] = "amiga";
       
    $submit_vars["submit"] = "Search!";
       
    $submit_vars["searchhost"] = "Altavista";
       
    $snoopy->submit($submit_url,$submit_vars);
       print 
    $snoopy->results;
       
    $snoopy->maxframes=5;
       
    $snoopy->fetch("http://www.ispi.net/");
       echo 
    "<PRE>\n";
       echo 
    htmlentities($snoopy->results[0]);
       echo 
    htmlentities($snoopy->results[1]);
       echo 
    htmlentities($snoopy->results[2]);
       echo 
    "</PRE>\n";
       
    $snoopy->fetchform("http://www.altavista.com");
       print 
    $snoopy->results;
    Пример 2
    PHP:
    <?php
    $snoopy 
    = new Snoopy;
    $snoopy->proxy_host "my.proxy.host";
    $snoopy->proxy_port "8080";
    $snoopy->agent "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)";
    $snoopy->referer "http://www.microsnot.com/";
    $snoopy->cookies["SessionID"] = 238472834723489l;
    $snoopy->cookies["favoriteColor"] = "RED";
    $snoopy->rawheaders["Pragma"] = "no-cache";
    $snoopy->maxredirs 2;
    $snoopy->offsiteok false
    $snoopy->user "me";
    $snoopy->pass "p@ssw0rd";
    ?>
    Пример 3
    PHP:
    <?php
      $vars 
    = array("fname"=>"Jonathan","lname"=>"Sampson");
      
    $snoopy = new Snoopy();
      
    $snoopy->httpmethod "GET"// is GET by default
      
    $snoopy->submit("http://www.somesite.com"$vars);
      print 
    $snoopy->results;
    ?>
     
Статус темы:
Закрыта.