我想通过curllib登录我的university webmail页面。
我编写以下代码来执行此操作:
$url = 'http://eetd.kntu.ac.ir/mda2.asp';
$reffer = 'http://sabamail.kntu.ac.ir:3000/WorldClient.dll?View=Main';
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
$cookie_file_path = "/var/www/cookie.txt";
$post_fields = 'dom=ee.kntu.ac.ir&usr=hoseini&password=*****';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch,CURLOPT_REFERER,$reffer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
但它会再次重定向到1而不显示您的密码错误! 哪里有问题?
答案 0 :(得分:3)
如果您确实检查了登录页面的源代码,您会发现密码元素名为pd
而不是password
。
因此你需要改变这个:
$post_fields = 'dom=ee.kntu.ac.ir&usr=hoseini&password=*****';
......对此:
$post_fields = 'dom=ee.kntu.ac.ir&usr=hoseini&pd=*****';
这可能不是唯一的问题,但肯定是一个问题。
答案 1 :(得分:2)
网站说:
<input type="password" name="pd" size="18">
你设置:
$post_fields = 'dom=ee.kntu.ac.ir&usr=hoseini&password=*****';
将密码更改为pdf>