Как заставить wget не кодировать URL?

Кажется, это должно быть просто, но мне трудно понять это. Я хочу отправить запрос wget, подобный следующему:

wget http://www.foo.com/bar.cgi?param=\"p\"

но я не хочу, чтобы URL-кодировал кавычки (или что-то еще, если на то пошло). Это возможно?

И просто чтобы прояснить, я а) имею дело с сервером, который не декодирует URL-адреса — я ничего не могу с этим поделать — и б) знаю, что я могу сделать это с помощью скрипта Python, или Burp, или много других вещей. Мне просто нужно знать, сможет ли wget это сделать.

Спасибо!


person P Jones    schedule 28.02.2015    source источник
comment
не могли бы вы найти какое-нибудь решение?   -  person T.Todua    schedule 15.11.2018


Ответы (3)


Таким образом, curl не выполняет автоматическое URL-кодирование параметров в запросе GET. Это не полностью отвечает на мой вопрос, но дает мне еще один вариант. Этот:

curl 'http://www.foo.com/bar.cgi?param="p"'

делает свое дело.

person P Jones    schedule 01.03.2015

Вы можете заключить URL-адрес в одинарные кавычки. Это также работает для URL-адресов с амперсандами и восклицательными знаками (!).

person imelgrat    schedule 28.02.2015
comment
Одинарные кавычки устраняют необходимость в косой черте, но они никогда не были проблемой. Даже заключенные в одинарные кавычки, двойные кавычки по-прежнему кодируются URL-адресом с помощью wget. - person P Jones; 28.02.2015

Я сталкиваюсь с той же проблемой, и у меня уже есть рабочий код в wget, который я бы предпочел сохранить таким образом. На веб-сайте wget есть некоторая документация о предоставлении некоторого контроля над этими параметрами с помощью --restrict-file-names=modes.

https://www.gnu.org/software/wget/manual/wget.html#URL-Format

person Kate    schedule 21.10.2016
comment
Это не имеет ничего общего с кодировкой URL-адреса, отправляемого на сервер, это влияет только на генерацию имени файла для хранения ответа. - person rustyx; 29.05.2017
comment
неправильный ответ. это официальное описание: Change which characters found in remote URLs must be escaped during generation of local filenames... - person T.Todua; 15.11.2018