2017-01-03 4 views
0

Вот часть моего кода:Почему я получаю 400 ошибку при использовании file_get_html

include("index.php"); 
require_once('../simple_html_dom.php'); 
    $html = file_get_html('http://netbarg.com/tehran/d/62672%2F%D9%81%DB%8C%D8%AA-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%85%D9%86%D9%88%DB%8C-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%87%D8%A7%DB%8C-%D9%81%D9%88%D9%82-%D8%AE%D9%88%D8%B4%D9%85%D8%B2%D9%87-5%2F'); 
foreach($html->find('a') as $element){ 
     $htm2=$element->href. '<br>'; 
     echo $htm2; 
+0

Ваш URL неправильно –

+2

Поскольку URL вы пытаетесь выборки не найден при открытии в браузере дает 404 –

ответ

0

ваш URL неправильно, потому что он кодируется в два раза. просто измените свой url на тот, который был декодирован один раз из вашего url.

http://netbarg.com/tehran/d/c:restaurant/62672/%D9%81%DB%8C%D8%AA-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%85%D9%86%D9%88%DB%8C-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%87%D8%A7%DB%8C-%D9%81%D9%88%D9%82-%D8%AE%D9%88%D8%B4%D9%85%D8%B2%D9%87-5

Вы можете проверить это с:

var_dump(file_get_contents('http://netbarg.com/tehran/d/c:restaurant/62672/%D9%81%DB%8C%D8%AA-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%85%D9%86%D9%88%DB%8C-%D8%A8%D8%B1%DA%AF%D8%B1-%D9%87%D8%A7%DB%8C-%D9%81%D9%88%D9%82-%D8%AE%D9%88%D8%B4%D9%85%D8%B2%D9%87-5/')); 
+0

, когда я использую свой адрес IVE получил это предупреждение: Предупреждение: file_get_contents (http://netbarg.com/tehran/d/c:restaurant/62672/%D9%81%DB%8C%D8%AA-%D8%A8%D8%B1%DA% АФ% D8% В1-% D9% 85% D9% 86% D9% 88% DB% 8C-% D8% A8% D8% B1% DA% AF% D8% В1-% D9% 87% D8% A7% БД % 8C-% D9% 81% D9% 88% D9% 82% D8% AE% D9% 88% D8% B4% D9% 85% D8% B2% D9% 87-5): не удалось открыть поток: HTTP запрос не выполнен! HTTP/1.0 400 Плохой запрос в C: \ wamp \ www \ Новая папка \ simple_html_dom.php в строке 75 – efns

+0

почему у вас есть что-то вроде c: ..... –

+0

И я использую file_get_contents, он работает хорошо. –

Смежные вопросы