rails consume ruby httparty

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