2012-11-20 162 views
0

有一个我需要登录的网页。我使用CURL进行登录,但这还不够。当您从网站登录时,该帖子还包含一个始终在变化的字符串。是否有办法克服?通过CURL登录网页

我用这个:

$ch = curl_init(); 

curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; he-IL; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
curl_setopt($ch, CURLOPT_POST, TRUE); 

$post = "username=$username&password=$password"; 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 

$result = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

这就像我需要的代码实际上转到该网页,并定期填写表格。

我到处寻找,但所有我能找到的是使用发布数据。

谢谢!

+1

可能是一种反垃圾邮件措施。您必须获取表单,用dom提取代码,然后将其与登录请求一起提交。 –

+0

我确定那个“改变代码”是为了防止有人这样做。 –

+1

哈哈哈我刚刚发现他们在隐藏输入LOL中保存这段代码! –

回答

0

要通过该表单,您需要使用表单访问该页面,抓取该字段,然后在提交表单时将其用于POST请求中。

,我建议您访问的表单页面不仅如此,还由于以下原因(其中一些可以用来计算使用的自动请求人):

  1. 您收到饼干
  2. 你不要冒充引荐来源,你实际上访问了页面
  3. 你可能想要检查表单字段,看看是否有任何新的,因为你写脚本。如果表单设置发生变化,可能会出现这种情况,如果您不想那么脚本可能会停止工作一天