0

フォームを介してサイトへのログインをシミュレートするページを作成しました。

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    </head>
    <body>
        <form action="https:/mysite/login.do" method="POST">
            <p>Username: <input type="text" name="login" value="username" /></p>
            <p>Password: <input type="text" name="password" value ="password" /></p>
            <p><input type="submit"></p>
        </form>
    </body>
</html>

カスタマイズされたフォームは機能しているようで、自分のページを使用して認証できます。ここでやりたいことは、「送信」ボタンを押したときに取得したページを表示するのではなく、解析する方法を見つけることです。php シンプルな dom ライブラリを使用してそれを達成しようとしましたが、それを使用して投稿することはできません。私が使用したコードは次のとおりです。

$curl = curl_init();
$data = array('login' => 'username', 'password' => 'password');
curl_setopt($curl,CURLOPT_URL,"https://www.myurl/login.do");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result= curl_exec($curl);
echo $result;
include ('simple_dom_parser.php');
$content = str_get_html($result);
$link= $content->find('a');
$ref=$link->href;
echo '<div>'.$link.'</div>';

私もそのようなことを試しました:

$request = array(
'http' => array(
    'method' => 'POST',
    'content' => http_build_query(array(
        'Item' => 'Value',
        'Item2' => 'Value2'
    )),
)
);

$context = stream_context_create($request);

$html = file_get_html('http://www.google.com', false, $context);

しかし、結果はありません。

誰か提案はありますか?

4

0 に答える 0