私が毎日アクセスするいくつかのサイトを実行し、それらから最も興味深い情報/統計を取得するスクリプトを作成しようとしています。これらのサイトの中には認証が必要なものがあるため、この目的のために curl を使用したかったのです。サイト rossnet.pl にぶつかるまではすべて問題ありませんでした。
使用したいフォームはこちらにあります: https://www.rossnet.pl/rossnetlogin.aspx
左側のテキストの下: "Mam konto w Rossnet.pl - Logowanie". 非表示の入力フィールドはないようです。資格情報用のテキスト フィールドは 2 つだけです。
以下に示すコードを使用していますが、サーバーから返されたページはまったく何も起こらなかったように見えます (エラー メッセージはなく、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;
?>