简单HTML DOM解析器-发送post变量


Simple HTML DOM Parser - Send post variables

我有用于PHP的Simple HTML DOM Parser,并且我使用以下标记:

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

但是,我如何将post变量(如cURL)发送到该页面并获得响应?例如

$html = file_get_html('http://www.google.com', array("Item"=>"Value", "Item2"=>"Value2"));

据我所见,文档中没有提到它,但在查看源代码后,我注意到您使用的函数接受流上下文作为其第三个参数。您可以使用以下PHP功能创建一个post请求:

$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);

如果你不喜欢上下文,或者更喜欢不同的方法(比如cURL扩展),你也可以使用它来获取页面内容,然后用str_get_html()$parser->load()将其提供给解析器;类本身在内部与您现在使用的方法几乎相同。