> 백엔드 개발 > PHP 튜토리얼 > php curl模拟登录 https://login.yahoo.co.jp 的有关问题

php curl模拟登录 https://login.yahoo.co.jp 的有关问题

WBOY
풀어 주다: 2016-06-13 10:33:17
원래의
3162명이 탐색했습니다.

php curl模拟登录 https://login.yahoo.co.jp 的问题
代码我基本上写出来了,但是抓去的页面是让输入验证码的
代码如下:
private function login(){
  $is_login = 0;
  $rurl = "http://www.yahoo.co.jp";
  //取随机码
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, "https://login.yahoo.co.jp/config/login");
  curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie_jar);
  curl_setopt($ch, CURLOPT_HEADER,1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  $tmp = curl_exec($ch);
  //curl_close($ch);
  preg_match('//i', $tmp, $mchallenge);
  preg_match('//i', $tmp, $mu);
  preg_match('//is',$tmp,$malbatross);

  $challenge = $mchallenge[1];
  $u = $mu[1];
  $albatross = $malbatross[1];
  //print_r($cookie_jar);exit;
  //print_r($arr);exit;
  //$hash_passwd = md5(md5($this->user_pwd).$challenge);
  //第一步:初步登陆
  //$ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, "https://login.yahoo.co.jp/config/login");
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, ".albatross=".$albatross."&.ct="."&.tries=1&.src=&.md5=&.hash&.js=&.last=&promo=&.intl=jp&.bypass=&.partner=&.u=".$u."&.v=0&.challenge=".$challenge."&.yplus=&.emailCode=&pkg=&stepid=&.ev=&hasMsgr=0&.chkP=Y&.done=".$rurl."&.pd=&.protoctl=&login=".$this->username."&passwd=".$this->password);//
  curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie_jar);
  curl_setopt($ch, CURLOPT_HEADER,1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  $str = curl_exec($ch);
  curl_close($ch);
  echo $str;exit;
  //判断是否登录成功
  if (strpos($str, "HTTP/1.1 302 Found") !== false){
  $is_login = 1;
  }
  return $is_login;
  }
用户名和密码都有, 但是模拟登录完是让输入验证码的,很郁闷,
soso的大侠们 帮解决下吧,
https://login.yahoo.co.jp/ 里的源代码 name=".albatross" 这个变量和登录有关系,每次刷新页面都会变化, 所以我 估计跟它有关,

------解决方案--------------------
好像不成功~~
------解决方案--------------------
這個費事費力的事情除非有人做過,要不然你可能不能夠在這裏得到答案
------解决方案--------------------
输入验证码的




无解了。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿