0
フォーラムにログインしてユーザーにメッセージを送信しようとしましたが、効果はありません。curl POST(CURLOPT_POSTFIELDS)
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://exemple.com/login.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=USER&password=1234567');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
$login = curl_exec ($ch);
curl_setopt ($ch, CURLOPT_URL, 'http://exemple.com/privatemessage.php?receiver=7067');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'msg=Test');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$post = curl_exec ($ch);
curl_close ($ch);
print_r($login) . "\n";
?>
何が問題なのですか。
$login = curl_exec ($ch);
if ($login === FALSE) {
die(curl_error($ch));
}
と第二カールの実行のために類似した:それはあなたの時間のための
おかげで...ここで
はHTMLの一部 <br/></br><br/></br>
<div class="rowElem">
<label>Username</label>
<input type="text" name="username" id="username" class="input" value="" size="20" tabindex="10" />
</div>
<div class="rowElem">
<label>Password</label>
<input type="password" name="password" id="password" class="input" value="" size="20" tabindex="20" />
</div>
<div class="rowElem">
<label></label>
<input type="submit" value="Login" class="button-primary"/>
</div>
実行するとどうなりますか?エラーメッセージが表示されますか?それが動作していないことをどのように知っていますか? –
多くのことがあります。私はあなたが正しくログインしていないと推測しています。おそらく、サイトがリファラーをチェックしているか、他のフォームフィールドが渡されていないと設定されています(例えば、送信ボタンの値のように) – James
COOKIEJARはApache(またはこれを実行している人)によって書き込み可能ですか?私もこれについて間違っているかもしれませんが、私はあなたが2番目のリクエストでクッキーファイルを指定する必要があると思います。 –