我正在尝试制作一个脚本,该脚本将在我每天访问的一些网站上运行,并从中获取最有趣的信息/统计数据。我想为此目的使用 curl,因为其中一些站点需要身份验证。一切都很好,直到我碰到了这个站点:rossnet.pl,它似乎以某种方式安全,因为我根本无法验证自己的身份。
我想使用的表格可以在这里找到: https ://www.rossnet.pl/rossnetlogin.aspx
在左侧,文字下方:“Mam konto w Rossnet.pl - Logowanie”。它似乎没有任何隐藏的输入字段,只有两个用于凭据的文本字段,称为:-“dnn$ctr1203$ViewLogin$txtUserLogin”-“dnn$ctr1203$ViewLogin$txtUserPass”
我正在使用下面显示的代码,但服务器返回的页面似乎完全没有发生任何事情(没有错误消息,看起来与我不发送任何 POST 数据时相同)。
有谁知道可能出了什么问题?在下面的代码中,我输入了实际的帐户凭据,以便您能够测试脚本,如果您想帮助我。
在这里你可以看到下面的脚本是如何在我的服务器上工作的:http: //kremuwa.netii.net/rossman/skrypt.php
<?php
$url = "https://www.rossnet.pl/rossnetlogin.aspx";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'dnn$ctr1203$ViewLogin$txtUserLogin=warzywko3000&dnn$ctr1203$ViewLogin$txtUserPass=password123');
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>