我打开一个页面作为登录用户,它似乎工作,除了网站有某种保护系统。如果我通常这样做,我会得到我想要的页面,但如果我用cURL来做,我会得到'Welcome back user(userid)'和一个链接到我请求的页面。一旦我点击链接,我就会得到我想要的位置。现在我尝试伪造引用者并检查发送到页面的数据,这里没有什么特别的。当我点击链接时,我只是简单地重定向到我想要的页面。我的问题是,为什么没有这个代码让我有作为:作为登录用户失败的cURL/PHP开放
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL , "http://www.site.com/sell/index");
curl_setopt($ch, CURLOPT_REFERER, 'http://www.site.com');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, false);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
$response = curl_exec($ch);
curl_close($ch);
echo $response;
我这样做只是之前,我进行登录过程和抢饼干。而且我确实可以以登录用户的身份打开页面,我似乎无法访问它,而无需点击ahref。
PS。如果我登录,打开我想要的页面,关闭浏览器并再次打开它,也会发生同样的情况。所以我认为这与推荐人有关?
是否使用'curl_setopt($ ch,CURLOPT_MAXREDIRS,10);'有什么帮助? – Quixrick
@Quixrick nope我得到了同样的结果。该网站知道我已登录,但似乎知道我也在使用cURL。如果它有所不同,则Cookie文件在其中包含多个Cookie。 –
嗯,那我不知道。除此之外,我能想到的是将浏览器访问的头文件与cURL访问头文件进行比较。听起来像你可能已经这样做了,但。 – Quixrick