Я пытаюсь сделать вызов http API rabbitmq, чтобы узнать, как там очереди и другая информация...
Мне нужно 3 переменные для передачи в API
1) url: (http://localhost:55672/api) 2) имя пользователя/пароль: guest/guest 3) область: «Управление RabbitMQ» // я не уверен, что это важно 4) путь: «/queues»
когда я делаю заявление curl, он дает положительный ответ
sudo curl -i -u guest:guest (http://localhost:55672)/api/queues
HTTP/1.1 200 OK
Server: MochiWeb/1.1 WebMachine/1.7 (participate in the frantic)
Date: Tue, 03 Jul 2012 01:39:05 GMT
Content-Type: application/json
Content-Length: 6176
Cache-Control: no-cache
но используя httpbuilder из groovy. вот код
def http = new HTTPBuilder("(http://localhost:55672/api)")
http.auth.basic 'guest','guest'
http.request(GET) { req ->
uri.path = '/queues'
response.success = { resp, reader ->
assert resp.statusLine.statusCode == 200
println "Got response: ${resp.statusLine}"
println "Content-Type: ${resp.headers.'Content-Type'}"
println reader.json
}
response.'404' = { println 'Not found' }
}
В результате получаю "не найдено". Я не включаю область, потому что я не могу вставить «область» в httpbuilder. он поставляется только с OAuth, однако мне нужно использовать базовую аутентификацию для вызовов http api кролика mq.
Кто-нибудь знает, как включить имя области в httpbuilder groovy для базовой аутентификации? Есть ли другой способ. Пожалуйста, дайте мне знать! Благодарность!