2015-08-06 7 views
0

В настоящее время я пытаюсь отправить запрос на получение в HTTParty, который входит в систему и получает некоторые данные API. Я успешно сделал это через завиток, выполнив:Преобразование команды curl в HTTParty Rails

curl -v --user USERNAMEHERE:PassWordHere http://app.ionitnetworks.com/ionit-app/api/rest/v1/devices 

Воспроизводит в моей консоли:

➜ HeatWatch git:(kunzig_new_heatwatch) ✗ curl -v --user (userOmitted):(password_omitted) http://app.ionitnetworks.com/ionit-app/api/rest/v1/devices 
* Hostname was NOT found in DNS cache 
* Trying 23.92.23.58... 
* Connected to app.ionitnetworks.com (23.92.23.58) port 80 (#0) 
* Server auth using Basic with user 'userOmitted' 
> GET /ionit-app/api/rest/v1/devices HTTP/1.1 
> Authorization: Basic ZG91Z0dofW301320Y2AsayZlLmNvbTpkb3VnMTIz 
> User-Agent: curl/7.35.0 
> Host: app.ionitnetworks.com 
> Accept: */* 

Я попытался куча вещей, чтобы получить эту работу в HTTParty, но ничего не работало такие как:

@response = HTTParty.post("https://app.ionitnetworks.com/ionit-app/api/rest/v1/devices.json", :headers =>{ "Authorization" =>"Token token=\"AccountsTokenOmitted\"" }) 

Любые советы были бы весьма признательны!

ответ

0

Я нашел, что для меня -u USERNAME:PASSWORD в curl по большей части эквивалентен basic_auth в HTTP. Мне также нравится устанавливать мои параметры в отдельной переменной, чтобы сделать ее немного легче читать/редактировать/настраивать, а затем передавать эту переменную на вызов.

options = { 
    basic_auth: { username: USERNAME, password: PASSWORD } 
} 

HTTParty.post(<URL>, options) 
Смежные вопросы