C # - веб-клиент декодирует скобки в URL-кодированной строке - PullRequest
2 голосов
/ 04 июня 2019

У меня есть предопределенный URL S3 с корейскими символами и скобками

Пример URL - https://*********.cloudfront.net/amazon_genesis.dev/be-storage-b76b4dd64-x66d7/0e05e8cf-9ecc-459c-aa90-3e4beddc2c9f/ecbc1896-a5da-4857-983f-6eb3f7bf0ee2/%EC%A0%84%EC%8B%9C%EC%9A%A9+%EB%B6%80%EC%B1%84+%EB%8D%B0%EC%9D%B4%ED%83%80%28%EC%88%98%EC%A0%95%29_%EC%9B%90%EB%B3%B8.hpd

Когда я вставляю этот URL в браузер, файл загружается. Если я пытаюсь загрузить файл с помощью Webclient, я вижу в Fiddler, что запрошенный URL-адрес совпадает, за исключением скобок. вместо Urlencoded представления для скобок (% 28,% 29), я увидел, что только скобки были декодированы в обычные символы. из-за этого подписанный URL ломается, и я получаю ответ 403.

эта проблема возникает только с азиатскими языками в скобках, для строк без скобок или для английского с скобками все работает нормально.

Кто-нибудь есть идеи?

...