Ваш коротышка с несколькими амперсандами

Я использую прокси для сокращения URL, используя Yourls, прокси вызывает метод jquery ajax (GET), передается параметр url вашего yourls-api.php:

http://localhost/webapp/default.aspx?x=499833&y=244716&resolution=1&layer=image&cc=uk

но API-интерфейс Yourls игнорирует строку запроса из второго амперсанда, т.е. сокращенный URL-адрес перенаправляется с

http://localhost/webapp/default.aspx?x=499833

longurl кодируется перед передачей его через прокси.

1 ответ

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

оригинал

http://rishi.kb/yourls-api.php?signature=123456&action=shorturl&format=json&url=http://localhost/webapp/default.aspx?x=499833&y=244716&resolution=1&layer=image&cc=uk

old: http://rishi.kb/yourls-api.php?signature%3D123456%26action%3Dshorturl%26format%3Djson%26url%3Dhttp%3A%2F%2Flocalhost%2Fwebapp%2Fdefault.aspx%3Fx%3D499833%26y%3D244716%26resolution%3D1%26layer%3Dimage%26cc%3Duk

новое: http://rishi.kb/yourls-api.php?signature=123456&action=shorturl&format=json&url=http%3A%2F%2Flocalhost%2Fwebapp%2Fdefault.aspx%3Fx%3D499833%26y%3D244716%26resolution%3D1%26layer%3Dimage%26cc%3Duk

Другие вопросы по тегам