Is there any way to include the user agent string along with the request send by PHP Simple HTML DOM Parser?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
By looking at the code it should be possible by using context streams, something like:
$context = stream_context_create();
stream_context_set_params($context, array('user_agent' => 'UserAgent/1.0'));
file_get_html('http://www.google.com/', 0, $context);
Alternatively you can also set default value in php.ini.
回答2:
Thanks Michal Čihař, you are right I just made some changes in the load_file() function of simple_html_dom class and it worked
// load html from file
function load_file() {
$args = func_get_args();
// Added by Mithun
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6\r\n".
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
$args[1] = FALSE;
$args[2] = $context;
// End Mithun
$this->load(call_user_func_array('file_get_contents', $args), true);
}