Параметры не кодирования URL с модификацией возвращают странный ответ - PullRequest
0 голосов
/ 20 февраля 2020

Я реализую android приложение с запросами Retrofit и Moshi для анализа ответа.

Для одного из запросов мне нужно, чтобы Retrofit не кодировал Запрос, потому что он включает ":"и сервер не примет" % 3A". Я использую:

@Query(value = "viaList", encoded = true) viaCitiesCode: String

И

private val moshi = Moshi.Builder()
    .add(KotlinJsonAdapterFactory())
    .build()

private val retrofit = Retrofit.Builder()
    .addConverterFactory(MoshiConverterFactory.create(moshi))
    .addCallAdapterFactory(CoroutineCallAdapterFactory())
    .baseUrl(BASE_URL)
    .build()

И ": " остается в URL как надо, но вместо ответа JSON возвращает это ответить (я не опубликовал весь ответ, отображаемый сетевым профилем, из-за его размера):

‹ìZ] rÛ8¾JŠû6k © ÀÒo EËŒ # Ù´ $ {œ ©---- $ Ñ4G © éÐNÖ— Ø [^à ^ ao³ {Žm € ”HJÔŸ'N¦¦” ¸, ³4 »ûk �Oøå +? N§dþÌ� ~ ÆÆîÜÿìŽoHðèÆTàÇg $ N¸ÓdþèžÀ“ ùà'Yñh'ø9 {z9áfsäÒA ÷ Ÿô n £ £ œ "? M„ ÐÇBÏ † ÎYê¼ÔM� £ Š TB {s / ´ [Bü <øâŽÝ'îg¦Úá} »! �ëÊ_» Ð · ”_ $ ¹�æSÚ¦ @ CHX¿e ¦Ñc˜´J¯Jžg ´eÑž¡ór²lÍa * Ú) ^ KåÝ (l \ »±; ‡ Üà ^ ~] úÁ¡õž1… äA 'GÊ] ²t) $ V8ÎÇ�, € ¸ ~ X¸óþú] ïÁ Ò ßu £ / ÑÔçX ^ ÌòÜÝÝÜé ¨ ¨TÍãtèÎ) lì1N ¢ Mjf MÞÏâüµ.EÜEADý ñ2eî… F- ‡ �_ƒ / ‡} ž: Šd (A'eL ‹î'´kµˆ õ¹ ± ÈëÕ0¿ˆL¸ ‡‹ ç (‰ ´ ¥); ¨üžø¨Cd {÷ TBljk0 ò‚PA © š © UPv £ °… ©ü © ‹g – Ù4ßç $… ¥ € PÝ ± Kæ £ ‡ ~ bæƒCÐ! G!} UB † mèÁ ¢ Jÿ ‹› © àn & 7 'C, s¦ ÷ mwÌ ™ g¡Ë4meŸ'5Ù † «bøw1Å} G5½« ÷ Ø ± Lìt [çØñ Ó³¯œdüɺøù “žÞÞ¤ÎEpÛûbàßo7Ý ·} �Ê >

Все отлично работает в бессоннице, когда я отправляю URL с отключением кодировки URL.

Спасибо за вашу помощь и дайте мне знать, если вам нужна дополнительная информация.

...