consume - Ruby httparty obtener respuesta url o id después de la publicación
ruby request post (3)
¿Cómo puedo obtener la url o id de respuesta de un proyecto de Rails con httparty en un script separado después de hacer una publicación?
guión rubí:
HTTParty.post(''http://localhost:3000/change_logs'', parameters)
response.body y todos los demás no muestran la URL y el ID de respuesta
Desafortunadamente, esa información no es mantenida por HTTParty. Cuando encuentra una redirección, seguirá la redirección y devolverá el resultado de esa solicitud. No guardará ninguna información de la solicitud original.
La buena noticia es que este tipo de comportamiento es (generalmente) predecible. Las aplicaciones web generalmente se redirigen a las mismas cosas después de una solicitud de publicación a una URL.
Pero si realmente quieres hacer esto, tendrás que usar la biblioteca net / http que viene con Ruby. Sin embargo, no es mucho más difícil que HTTParty, así que no es mucho más trabajo.
Dos años después, encontré una forma de acceder al último URI desde el atributo de request
en la response
:
url = "http://example.com/redirects/to/www"
response = HTTParty.get(url)
response.request.last_uri.to_s
# => "http://www.example.com"
Esto me funciona, aunque probablemente haya una mejor manera de hacer esto ...
get_change_log_id = HTTParty.post(''http://localhost:3000/change_logs.xml'', parameters).to_a
get_change_log_id.each do |r|
r.each do |sub|
sub2 = sub.to_a
sub2.each do |s|
if s.index "id"
@change_log_id = s.to_s.sub(/[i]/, '''').sub(/[d]/, '''')
end
end
end
end