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