我试图从外部url获得一些DOM,同时传递一些标头,因此收到的DOM必须根据它们不同。
例如,如果我有一个移动设备报头,那么接收到的DOM应该与PC报头完全不同。
目前我还没有找到这样做的方法,因为我总是接收相同的DOM(与我的默认头)。
提前感谢。
您可以为加载操作指定一个所谓的流上下文。检查这个示例,它派生自PHP手册
// Specify headers
$opts = array(
'http' => array(
'user_agent' => 'PHP libxml agent',
)
);
// Create and assign a stream context
$context = stream_context_create($opts);
libxml_set_streams_context($context);
// request the HTML file through HTTP
$doc = DOMDocument::loadHTMLFile('http://www.example.com/file.html');
您可以在PHP手册中查看这些文章:
- DOMDocument: loadHTMLFile ()
- stream_context_create ()
- libxml_set_streams_context ()
- 支持的协议和包装
- HTTP上下文选项