php curl登录网站

时间:2014-02-02 09:02:44

标签: php cookies curl

您好我正在尝试登录网站以获取一些数据,我试图用cURL做这个,我尝试了多种设置,大部分是我在这个网站上找到的,这是最接近我有。 因为此代码是迄今为止唯一可以创建cookie文件的代码(它不会在cookie文件中写入任何内容,但每次最后4位数字随机时都会创建类似coo8361.tmp的文件)。 我在一个简单的表单上尝试了这个,它工作得很好,它将一些数据插入到MySQL中。

如果您能给我任何我可能会使用的注释或信息,那将非常有帮助。

谢谢

$username = '23434';
$password = 'sdfsfdsdf';


$ckfile = tempnam ("./", "cookie.txt"); 
$target_host = "http://www.somewebsite.com"; 
$target_request = "logon.html?ut=4";
$post_data = "action=LogonForm&username=$username&ownerPassword=$password";


$ch = curl_init ($target_host);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

// 3. Continue
$login = curl_init ($target_host.$target_request);
curl_setopt($login, CURLOPT_COOKIESESSION, 1);
curl_setopt($login, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($login, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($login, CURLOPT_TIMEOUT, 40);
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);        
curl_setopt($login, CURLOPT_HEADER, 1);        
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_POST, 1);
curl_setopt($login, CURLOPT_POSTFIELDS, $post_data);
echo curl_exec($login);
curl_close($login);  

1 个答案:

答案 0 :(得分:0)

替换此

$login = curl_init ($target_host.$target_request);

$login = curl_init ($target_host."/".$target_request);