задача curl с Ruby Net :: HTTP - PullRequest
       0

задача curl с Ruby Net :: HTTP

4 голосов
/ 13 марта 2012

У меня есть скрипт bash, использующий curl:

url="https://example.com/api.cgi"
message="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request>
    <encoding>utf-8</encoding>
    <format>XML</format>
    <foo>bar</foo>
</request>"

curl --data "${message}" --header 'Content-Type: text/xml' "${url}" --insecure -3

Как реализовать то же самое с ruby ​​Net :: HTTP?

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Вот пример, который подавляет проверку SSL, если вы используете самозаверяющие сертификаты.

require "net/http"
require "uri"

uri = URI.parse("https://mysite.com/api.cgi")

message="<?xml version=\"1.0\" encoding=\"utf-8\"?>
<request>
    <encoding>utf-8</encoding>
    <format>XML</format>
    <foo>bar</foo>
</request>"

http = Net::HTTP.new(uri.host, uri.port)
#http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(uri.request_uri)
request.content_type = "text/xml"
request.body = message
response = http.request(request)

p response.body
2 голосов
/ 13 марта 2012

Вот отличная шпаргалка Питера Купера о Ruby Net :: HTTP, посмотрите!http://www.rubyinside.com/nethttp-cheat-sheet-2940.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...