尝试使用此网站上的curl登录:http://www.indianvideogamer.com。
这是我的完整脚本:
$ref = "http://www.indianvideogamer.com/" ;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.indianvideogamer.com/forums/index.php?app=core&module=global&section=login&do=process") ; // Target site
curl_setopt ($ch, CURLOPT_COOKIEFILE, "C:/cookie2-techenclave.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "C:/cookie2-techenclave.txt");
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_TIMEOUT, CURL_TIMEOUT); // Timeout
curl_setopt($ch, CURLOPT_USERAGENT, WEBBOT_NAME);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "referer=http://www.indianvideogamer.com/forums/index.php&username=cute.bandar&password=mypass");
// curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects
curl_setopt($ch, CURLOPT_MAXREDIRS, 4); // Limit redirections to four
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return in string
$webpage['FILE'] = curl_exec($ch);
curl_close($ch);
echo $webpage['FILE'] ;
在localhost / script.php上运行此脚本的结果是,它不是回显页面而是重定向到http://www.localhost/script.php。为什么?
答案 0 :(得分:1)
我承认这不是一个明显的问题。
但最后我才开始工作。我在URL参数中跳过了&符号的URL编码。所以我的路线是:
curl_setopt($ch, CURLOPT_URL,"http://www.indianvideogamer.com/forums/index.php?app=core&module=global§ion=login&do=process") ;
顺便说一下,你确定这是整个剧本吗?我的PHP抱怨缺少CURL_TIMEOUT
和WEBBOT_NAME
的定义,但这似乎不会影响登录。
答案 1 :(得分:0)
尝试使用
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
这将遵循重定向。