Умный снайпер в первом наборе комментариев был очень забавным, но это действительно зависит от того, что ты пытаешься сделать. Если у вас еще нет правильной библиотеки, то 3 строки кода (как в ответе Д. Вроблевского) идеальны. OTOH, если у вас уже есть библиотека apache.commons (как и большинство крупных проектов), то ответ Амара будет короче. ОК, вам может потребоваться десять минут, чтобы получить библиотеку и установить ее правильно (меньше, чем один, если вы знаете, что делаете). Но часы тикают, поэтому у вас может не быть свободного времени. У Ярека Пшигодзки была интересная оговорка: «Если вам не нужны вложенные исключения».
Но что, если мне нужно нужны полные трассы стека, вложенные и все? В этом случае секрет заключается в использовании apache.common getFullStackTrace (см. http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/exception/ ExceptionUtils.html # getFullStackTrace% 28java.lang.Throwable% 29 )
Это спасло мой бекон. Спасибо, Амар, за подсказку!
Хорошо, я разобрался .... Кодировка UrlEncoding в классе HttpUtility не соответствует схеме кодирования Amazon .... grrr (в частности, шестнадцатеричное значение после% в. NET в нижнем, а не в верхнем регистре)
b. URL-адрес кодирует имя параметра и значения в соответствии со следующими правилами:
Процент кодирует все остальные символы с% XY, где X и Y шестнадцатеричные символы 0–9 и заглавные буквы AF .
Процент кодирует расширенный UTF-8 символы в виде% XY% ZA ....
Итак, после написания быстрого метода, который кодирует эту схему, он работает нормально.