Curl и wget: почему не используется параметр GET?
Я пытаюсь извлечь данные из этой страницы с помощью wget и curl в PHP. Как вы можете видеть, используя ваш браузер, результат по умолчанию - 20 элементов, но, установив параметр GET iip на число x, я могу получить x элементов, то есть http://www.example.com/foo? A = 26033 & b = 100
Проблема в том, что параметр iip работает только в браузерах. Если я попытаюсь извлечь последнюю ссылку с помощью wget или curl, возвращается только 20 элементов. Зачем? Попробуйте это в командной строке:
curl -O http://www.example.com/foo?a=26033&iip=b
wget http://www.example.com/foo?a=26033&iip=b
Почему я не могу использовать параметр GET iip?
Ответы
Ответ 1
Попробуйте добавить цитаты:
curl -O 'http://www.objektvision.se/annonsorer?ai=26033&iip=100'
wget 'http://www.objektvision.se/annonsorer?ai=26033&iip=100'
&
имеет специальную функциональность в командной строке, которая, вероятно, вызывает проблемы.
Ответ 2
Попробуйте указать аргумент. По крайней мере, в cmd
, &
используется для разграничения двух команд, которые запускаются индивидуально.
Ответ 3
&
является зарезервированным словом в оболочке. Просто избегайте этого как \&
Ответ 4
Вам придется приложить свой URL-адрес в "или", так как имеет и имеет особое значение в shellscript... Это даст вам:
curl -O "http://www.objektvision.se/annonsorer?ai=26033&iip=100"
wget "http://www.objektvision.se/annonsorer?ai=26033&iip=100"