您好我正在尝试登录网站以获取一些数据,我试图用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);
答案 0 :(得分:0)
替换此
$login = curl_init ($target_host.$target_request);
带
$login = curl_init ($target_host."/".$target_request);