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

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

johny_cc

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

$snoopy = new Snoopy($host="login.yahoo.co.jp");
$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
$snoopy->referer = "http://google.com/";

$snoopy->rawheaders["Pragma"] = "no-cache";
$submit_url = "http://login.yahoo.co.jp/config/login";
$submit_vars[".tries"] = "1";
$submit_vars[".src"]="";
$submit_vars[".md5"]="";
$submit_vars[".hash"]="";
$submit_vars[".js"]="";
$submit_vars[".last"]="";
$submit_vars["promo"]="";
$submit_vars[".intl"]="jp";
$submit_vars[".bypass"]="";
$submit_vars[".partner"]="";
$submit_vars[".u"]="80imnct5af833";
$submit_vars[".v"]="";
$submit_vars[".challenge"]="d_cic2Eyj_Q0ox19vHTKYxihgJCu";
$submit_vars[".yplus"]="";
$submit_vars[".emailCode"]="";
$submit_vars["pkg"]="";
$submit_vars["stepid"]="";
$submit_vars[".ev"]="";
$submit_vars["hasMsgr"]="";
$submit_vars[".chkP"]="Y";
$submit_vars[".done"] = "http://www.yahoo.co.jp";
$submit_vars[".pd"]="";
$submit_vars[".protoctl"]="";
$submit_vars["login"] = ".....";
$submit_vars["passwd"] = ".....";
$submit_vars[".persistent"] = "y";

$snoopy->submit($submit_url, $submit_vars);
print_r($snoopy->results);

У меня выдает ошибку. Типа в браузере не включены куки.
Я понимаю что куки после авторизации надо куда-то сохранить, но куда?
 
PHP:
print_r($snoopy->headers);
print_r($snoopy->cookies);
 
А можно поподробнее?

данный код
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-
)
 
после сабмита используй
$snoopy->setcookies ();
почитай внимательней про снупи.

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

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

И если есть дописаный класс Snoopy очень бы хотелось взглянуть :)
 
Неужели никто не может привести работающий код? тут же чуть больше десятка строк. Помогите пожалуйста.
 
Пример 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;
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху