Maison > Article > développement back-end > CURL模拟登陆SINA微博有关问题
CURL模拟登陆SINA微博问题
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php $username =base64_encode("[email protected]"); $data = file_get_contents('http://login.sina.com.cn/sso/prelogin.php?entry=miniblog&callback=&user='.$username.'&client=ssologin.js(v1.3.16)');$json = json_decode($data);$pw = strtolower(sha1(strtolower(sha1(strtolower("111111"))).$json->servertime.$json->nonce));$CookieFile = '/sinacookie/'.$username.'_sinacookie.tmp'; $post_data = array( "entry"=>"weibo", "gateway"=>"1", "from"=>"", "savestate"=>"7", "useticket"=>"1", "ssosimplelogin"=>"1", "username"=>$username, // base 64之后的用户名 "service"=>"miniblog", "servertime"=>$json->servertime, //上步得到的服务器时间 "nonce"=>$json->nonce, //上步得到随机生成的字符串 "pwencode"=>"wsse", "password"=>$pw, //加密的密码 "encoding"=>"utf-8", "url"=>"+ HttpUtility.UrlEncode('http:'//'weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack')", "returntype"=>"META"); $ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.16)");curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);curl_setopt($ch, CURLOPT_COOKIEJAR, $CookieFile);curl_setopt($ch, CURLOPT_COOKIEFILE, $CookieFile);curl_exec($ch);curl_close($ch);?>