在某个站点中使用php

在某个站点中使用php,php,curl,Php,Curl,我有一些任务。 我需要通过curl获得现场授权 但我用的都是错的 请给我看看它是怎么修好的。 因为我需要和这个网站合作。 谢谢 您需要先抓取一个页面来获取一些cookie信息,然后登录。我已经使用了您的凭据并测试了下面的代码,并且登录正常。希望你能理解我所做的一切 没有最初的curl请求,我得到了一个cookie所需的登录页。一旦我卷起这个页面,我就可以登录了 另外,我使用的登录页面是实际登录表单发布到的页面,而不是您问题中的页面 $firsturl = 'http://www.kinguin.

我有一些任务。 我需要通过curl获得现场授权 但我用的都是错的

请给我看看它是怎么修好的。 因为我需要和这个网站合作。
谢谢

您需要先抓取一个页面来获取一些cookie信息,然后登录。我已经使用了您的凭据并测试了下面的代码,并且登录正常。希望你能理解我所做的一切

没有最初的curl请求,我得到了一个cookie所需的登录页。一旦我卷起这个页面,我就可以登录了

另外,我使用的登录页面是实际登录表单发布到的页面,而不是您问题中的页面

$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('dan-ver@ukr.net'),'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;

您是通过登录页面上的post进行身份验证还是接受httpd身份验证?另外,我假设中的postfield实际上被称为username和password,所以字符串应该是username=notlogin[username]=etc