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"