У меня есть URL-адрес и спасся его с помощью:Когда мне следует избегать URL-адресов?
url = "http://ec4.images-xxx.com/images/I/41-%2B6wMiewL._SL135_.jpg"
url = URI.escape(url)
puts url => "http://ec4.images-xxx.com/images/I/41-%252B6wMiewL._SL135_.jpg"
Из результата я могу видеть, что URI бежал ранее бежал %2B
снова, который стал %252B
, что не является правильным.
Я хочу знать, как убедиться, что один URL-адрес должен быть экранирован. Или, есть ли умный метод, который знает, когда убежать и когда не убежать?
Благодарю вас за ваше решение о том, как проверить одну строку, экранируется или нет. Однако, если я проверил, что одна строка не экранирована, поэтому я буду использовать URI.escape для ее обработки, но я обнаружил, что URI.escape («+») не влияет на escape для «+» на «% 2B», , Зачем? – ywenbo
прочитал еще одно сообщение и узнал, что + является частью символа пути, и хотя побег не может сделать «+» в «% 2B», он работает хорошо. Спасибо. – ywenbo
Вы правы, но когда вы выдаете URI.decode ('% 2B'), вы получаете «+». Но, как вы сказали, генеральный директор звучит. – sflinter