0
몇 가지 작업이 있습니다. 나는 컬을 통해 사이트의 승인을 받아야합니다. 하지만 제가 사용했던 모든 것은 - 잘못되었습니다.일부 사이트의 인증 컬 PHP
수정 방법을 알려주십시오. 이 사이트에서 작업해야하기 때문에. 감사합니다.
몇 가지 작업이 있습니다. 나는 컬을 통해 사이트의 승인을 받아야합니다. 하지만 제가 사용했던 모든 것은 - 잘못되었습니다.일부 사이트의 인증 컬 PHP
수정 방법을 알려주십시오. 이 사이트에서 작업해야하기 때문에. 감사합니다.
일부 쿠키 정보를 얻고 로그인하려면 먼저 페이지를 가져와야합니다. 귀하의 자격 증명을 사용하고 아래의 코드를 테스트하고 확인 된 상태로 로그인했습니다. 바라건대 내가 한 짓을 이해할 수 있기를 바랍니다.
'http://www.kinguin.net/customer/account/login'에 대한 초기 말림 요청이 없으면 쿠키가 필요합니다. 방문 페이지가 필요합니다. 이 페이지를 웅크 리고 나면 로그인 할 수 있습니다.
또한 로그인 페이지는 실제 로그인 양식이 ('http://www.kinguin.net/customer/account/loginPost/')에 게시되고 질문에없는 글입니다.
$firsturl = 'http://www.kinguin.net/customer/account/login';
$ch = curl_init();
$useragent="Fake Mozilla 5.0 ";
$cookie_jar = tempnam ("/tmp", "kinguin");
curl_setopt($ch, CURLOPT_URL, $firsturl);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
$redir = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);
$loginurl = 'http://www.kinguin.net/customer/account/loginPost/';
$fields = array('login[username]' => urlencode('[email protected]'),'login[password]' => urlencode ('78955123'));
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginurl);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
$redir = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_close($ch);
echo $result;
로그인 페이지의 게시물을 통해 인증을 제대로하고 있습니까? 아니면 httpd 인증을 수락합니까? 나는 또한 귀하의 포스트 필드가 실제로 사용자 이름과 암호라고 가정하므로 문자열은 username = login [username] =이 아니어야합니다. – Dave