2015-09-09 2 views
2

Мне нужно получить доступ к API для отдыха, и один из атрибутов имеет пробел, за которым следует число. Я знаю, что я должен заменить пробелы на% 20, но что, если за ним следует число?rest api с пробелом, за которым следует номер

Для Exemple:

http://myapi/ressource?query={user-22[*%203.2.2.0]} 
+0

Так что это проблема? Какой результат вы получаете и какое поведение вы ожидаете? –

+0

Я получаю ошибку http 400, потому что он не понимает% 203. Он не может понять, что я хочу, это то, что я хочу, - это * 3.2.2.0 (asterix, за которым следует пробел, за которым следует число) – bryce

ответ

0

я нашел наконец способ, я использовал

http://myapi/ressource?query=%7Buser-22%5B*%25203.2.2.0%5D%7D 

Разница составляет% 2520% вместо 20 только

+0

. Затем ваше приложение дважды декодирует параметр запроса («% 2520» - это пробел, закодированный дважды). Если у вас есть доступ к этому приложению, это, вероятно, то, что вы должны исправить первым. –

+0

К сожалению, у меня нет доступа к этому приложению. Это остальные API от HP Qualitiy Center. Я не знаю, знаете ли вы это – bryce

1

{}[] считаются unsafe characters, так что вы должны избежать их. Действительный URL будет:

http://myapi/ressource?query=%7Buser-22%5B*%203.2.2.0%5D%7D 
+0

Спасибо за ввод, я буду исправьте это тоже. Но когда я пытаюсь с [* 3.2.2.0], он работает. Проблема здесь в пространстве между * и 3.2.2.0 – bryce

Смежные вопросы