Как передать URL с параметрами запроса на другой URL в качестве параметра запроса? - PullRequest
0 голосов
/ 13 декабря 2018

В соответствии с темой, я пытаюсь сделать это, но он помечается как недопустимый URL-адрес с помощью веб-сайта проверки: http://www.getlinkinfo.com/

Пример типа URL, который я пытаюсь сделатьподтвердите это: http://www.google.com/?link=www.yahoo.com?value=foobar

Это в формате, аналогичном тому, что я пытаюсь заставить работать.Я пробовал кодировать различные части, но все они дают одинаковые результаты.

Кодирование только значения не работает: http://www.google.com/?link=www.yahoo.com%3Fvalue%3Dfoobar

Кодирование всего параметра запроса не работает: http://www.google.com/?link%3Dwww.yahoo.com%3Fvalue%3Dfoobar

Не работает кодирование всего URL-адреса: http%3A%2F%2Fwww.google.com%2F%3Flink%3Dwww.yahoo.com%3Fvalue%3Dfoobar

Кто-нибудь знает, как можно отформатировать URL-адрес так, чтобы он хорошо проходил проверку?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Вы можете использовать метод encodeURI в JavaScript следующим образом:

encodeURI("http://www.google.com/?link=www.yahoo.com%3Fvalue%3Dfoobar");

Это приведет к:

http://www.google.com/?link=www.yahoo.com%253Fvalue%253Dfoobar

И когда вы введете результат в текстовое поле на http://www.getlinkinfo.com, вы получите ваш URL как действительный!

0 голосов
/ 13 декабря 2018

Пожалуйста, посмотрите на URLEncoder , например:

URLEncoder.encode("mysite.com?a=test&b=test", "UTF-8");

Должно дать вам mysite.com%2Fa%3Dtest%26b%3Dtest

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...