¿Es posible hacer una solicitud POST desde Ruby con open-uri?¿Cómo realizo una solicitud POST con open-uri?
Respuesta
Desafortunadamente open-uri
solo es compatible con el verbo GET
.
Puede desplegar un nivel y usar net/http
, o usar rest-open-uri
, que fue diseñado para admitir POST
y otros verbos. Puede hacer gem install rest-open-uri
para instalarlo.
También recomendaría rest-client. Es una excelente base para escribir un cliente API.
require 'open-uri'
require 'net/http'
params = {'param1' => 'value1', 'param2' => 'value2'}
url = URI.parse('http://thewebsite.com/thepath')
resp, data = Net::HTTP.post_form(url, params)
puts resp.inspect
puts data.inspect
que trabajó para mí :)
-1 Esto no es utilizando OpenURI para manejar la conexión, está usando Net :: HTTP. En este ejemplo, OpenURI solo se usa para cargar el módulo URI. –
También ha declarado 'params' y luego 'query' – KomodoDave
no importa si está usando o no. si open-uri no puede hacerlo, esta respuesta ayudará a muchas personas. no hay forma de rechazar esta respuesta – mask8
Tan simple como se pone:
require 'open-uri'
require 'net/http'
response = Net::HTTP.post_form(URI.parse("https://httpbin.org/post"), { a: 1 })
puts response.code
puts response.message
puts response.body
recomiendo el uso de response.methods - Object.methods
para ver todos los métodos disponibles, por ejemplo, message
, header,
Bonus: Enviar/Eliminar solicitudes:
puts Net::HTTP.new("httpbin.org").post("/post", "a=1").body
puts Net::HTTP.new("httpbin.org").delete("/delete").body
- 1. ¿Cómo realizo una POST usando X-HTTP-Method-Override con una solicitud de curl de PHP?
- 2. Cómo especificar el "encabezado de solicitud HTTP" en OpenURI
- 3. Enviar solicitud POST con netcat
- 4. ¿Cómo enviar una solicitud POST usando django?
- 5. ¿Cómo realizo una solicitud http usando cookies en Android?
- 6. ¿Cómo envío una solicitud POST en RestSharp?
- 7. ¿Cómo puedo hacer una solicitud JSON POST con LWP?
- 8. ¿Cómo puedo crear una solicitud HTTP POST con Qt 4.6.1?
- 9. AFNetworking - ¿Cómo hacer solicitud POST
- 10. autenticación de proxy Rubí GET/POST con OpenURI o net/http
- 11. ¿Cómo enviar la solicitud POST?
- 12. ¿Una buena forma de redireccionar con una solicitud POST?
- 13. Solicitud POST usando RCurl
- 14. Envío de una solicitud JSON POST con el preprocesador BSF
- 15. Añadir un parámetro GET a una solicitud POST con RestSharp
- 16. solicitud POST en Symfony2
- 17. ¿Cómo realizo una solicitud usando autenticación básica HTTP con curvatura de PHP?
- 18. Comando curl para emitir una solicitud POST
- 19. Realización de una solicitud HTTP POST con Arduino
- 20. Emita una solicitud POST con url_for en Flask
- 21. Haciendo solicitud HTTP POST
- 22. Django - solicitud POST
- 23. Django jQuery solicitud POST
- 24. Cómo probar solicitud POST multipart/form-data
- 25. rieles y OpenURI
- 26. ¿Cómo enviar la solicitud HTTP POST con contenido gziped?
- 27. solicitud POST y PUT AFNetworking
- 28. ¿Cómo puedo enviar un archivo en una solicitud POST?
- 29. ¿Cómo hacer una solicitud HTTP Post/GET en Powershell?
- 30. Cómo analizar json de una solicitud POST entrante en Rails?
El enlace es ahora: https://github.com/rest-client/rest-client –