вход пользователя с помощью HTTParty - PullRequest
0 голосов
/ 05 марта 2019

У меня есть shi ** y API, который возвращает сломанный JSON после GET-запроса с HTTParty.

GET HTTParty.get('url/login/success/', headers: {cookie: "JSESSIONID=ID"}) возвращает JSON::ParserError (765: unexpected token at)

, а response.body -

"{\"head\":{\"apikey\":null,\"sessionid\":\"ID\",\"timestamp\":1551772335837,\"sessiontimeout\":1551775035837,\"wishlistItemsCount\":0,\"basketItemsCount\":0,\"loggedIn\":true,\"role\":\"C\"},\"data\":{\"user\":{\"profile\":{\"title\":\"Title\",\"firstname\":\"Name\",\"lastname\":\"Lastname\",\"street\":\"Street\",\"street2\":\"number\",\"postalcode\":\"code\",\"city\":\"City\",\"customerID\":\"ID\",\"customerType\":xx}},\"abandonedBasket\":false},\"messages\":[{\"code\":\"url.api.login.success\",\"statusCode\":200,\"description\":\"OK\"}]}{\"head\":{\"apikey\":null,\"sessionid\":\"ID\",\"timestamp\":1551772335841,\"sessiontimeout\":1551775035841,\"wishlistItemsCount\":0,\"basketItemsCount\":0,\"loggedIn\":true,\"role\":\"C\"},\"data\":{},\"messages\":[{\"code\":\"url.api.general.error\",\"statusCode\":500,\"description\":\"Es ist ein interner Fehler aufgetreten. Bitte versuchen sie es später noch einmal.\"}]}"

Есть ли возможность исправить JSON ответа, чтобы пользователь мог войти в систему и использовать свою учетную запись в обычном режиме?

Альтернатива, которую я имею, использует curl внутри кода, но я хочу этого избежать

1 Ответ

0 голосов
/ 05 марта 2019

Возможно, вы не отправляете данные JSON.

Установите этот флажок Изменение типа содержимого на JSON с использованием HTTParty

  1. content_type
  2. to_json
...