Установка параметра User Agent в PHP Simple HTML DOM Parser - PullRequest
0 голосов
/ 22 декабря 2009

Есть ли способ включить строку пользовательского агента вместе с запросом, отправляемым PHP Simple HTML DOM Parser?

Ответы [ 2 ]

10 голосов
/ 23 декабря 2009

Спасибо Михал Чихарж, вы правы Я только что сделал некоторые изменения в функции load_file () класса simple_html_dom, и это сработало

// 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);
    }
4 голосов
/ 22 декабря 2009

Глядя на код, это можно сделать с помощью потоков контекста, например:

$context = stream_context_create();
stream_context_set_params($context, array('user_agent' => 'UserAgent/1.0'));
file_get_html('http://www.google.com/', 0, $context);

В качестве альтернативы вы также можете установить значение по умолчанию в php.ini .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...