cosminx2003 wrote:
> 
> 
> Hi, i want to login on yahoo with php cURL, i made a script but i
> can't make it work fine (it gives me blank page).
> Please tell me how can i fix it.
> Thanks
> 
> <?php
> 
> $username = "user";
> $password = "pass";
> $ch = curl_init();
> 
> curl_setopt ($ch, CURLOPT_URL, 'http://login.yahoo.com/config/login? 
> <http://login.yahoo.com/config/login?>');
> curl_setopt ($ch, CURLOPT_POST, 1);
> curl_setopt ($ch, CURLOPT_POSTFIELDS,
> "login=$username&passwd=$password&.src=&.tries=5&.bypass=&.partner=&.md5=&.hash=&.intl=us&.tries=1&.challenge=ydKtXwwZarNeRMeAufKa56.oJqaO&.u=dmvmk8p231bpr&.yplus=&.emailCode=&pkg=&stepid=&.ev=&hasMsgr=0&.v=0&.chkP=N&.last=&.done=");
> 
> curl_setopt ($ch, CURLOPT_COOKIEJAR, "cookies.txt");
> curl_setopt ($ch, CURLOPT_COOKIEFILE, "cookies.txt");
> 
> curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; PPC
> Mac OS X;en) AppleWebKit/419.2.1 (KHTML, like Gecko) Safari/419.3');
> curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
> 
> $result=curl_exec ($ch);
> curl_close ($ch);
> echo $result;
> 

Here is what I would do:

<?php

$cookiefile = 'cookies.txt';

$args['login'] = "user";
$args['passwd'] = "pass";
$args['.src'] = '';
$args['.tries'] = 5;
$args['.bypass'] = '';
$args['.partner'] = '';
$args['.md5'] = '';
$args['.hash'] = '';
$args['.intl'] = 'us';
$args['.tries'] = 1;
$args['.challenge'] = 'ydKtXwwZarNeRMeAufKa56.oJqaO';
$args['.u'] = 'dmvmk8p231bpr';
$args['.yplus'] = '';
$args['.emailCode'] = '';
$args['pkg'] = '';
$args['stepid'] = '';
$args['.ev'] = '';
$args['hasMsgr'] = 0;
$args['.v'] = 0;
$args['.chkP'] = 'N';
$args['.last'] = '';
$args['.done'] = '';

$page = 
PostPage('http://login.yahoo.com/config/login',$args,'',$cookiefile);
echo $page;

###################################################################
function PostPage($URL, $args = array(), $referer = '', $cookiefile = '') {
   if ( $args == '' ) $args = array();
   if ( count($args) ) {
     foreach ( $args as $key => $val ) {
       $postfields .= "$key=" . urlencode($val) . "&";
     }
     $postfields = substr($postfields, 0, -1);
   }
   $ch = curl_init($URL);
   if ( !defined('CURL_NOHEADER') ) curl_setopt($ch, CURLOPT_HEADER, 1);
   curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; PPC 
Mac OS X;en) AppleWebKit/419.2.1 (KHTML, like Gecko) Safari/419.3');
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       if ( defined('CURL_TIMEOUT') ) {
         curl_setopt($ch, CURLOPT_TIMEOUT, CURL_TIMEOUT);
       }
   curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
   curl_setopt($ch, CURLOPT_ENCODING, 'fred');
   curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
   curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
   if ( $postfields ) curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
   if ( $referer ) {
     curl_setopt($ch, CURLOPT_REFERER, $referer);
     curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
   }
   if ( $cookiefile ) {
     curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
     curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
   }
   if (!$webpage = curl_exec($ch)) $webpage = "Error: " . 
curl_errno($ch) . "\nDescription: " . curl_error($ch);
   curl_close($ch);
   return $webpage;
}

?>

Reply via email to