RUBY - SSL, l'Authentification Basique, et après
Je suis tout à fait avoir un moment difficile avec cela, semble comme il y a quelques bouts de code qui traînent que je n'arrive pas à rassembler. J'essaye simplement de POSTER des paires clé/valeur, mais l'obtention de Connection refused - connect(2) (Errno::ECONNREFUSED)
. À l'aide!
require 'net/http'
require 'net/https'
require 'uri'
@http = Net::HTTP.new('https://my.url.com/path', 443)
@http.use_ssl = true
@http.start() { |http|
req = Net::HTTP.post_form(
URI.parse('https:///my.url.com/path'),
{'key1' => 'value1', 'key2' => 'value2'}
)
req.basic_auth 'username', 'password'
response = http.request(req)
puts response.body
}
Vous devez vous connecter pour publier un commentaire.
HTTP#post_form exécutera directement, en ignorant les autres réglages. Essayez plutôt ceci:
Vous êtes susceptibles d'avoir des problèmes avec le serveur de certificats. Voir mes autres post pour obtenir des instructions sur la façon d'obtenir/configurer.
url = URI.parse(@url) req = Net::HTTP::Post.new(url.path) req.basic_auth @username, @password req.set_form_data(postParams, ';') sock = Net::HTTP.new(url.host, 443) sock.use_ssl = true sock.ssl_version='SSLv3' sock.start do |http| response = http.request(req) return response end
puts resp
- essayezputs resp.body
à la place.form_data
au lieu deset_form_data
ils sont à la fois des pseudonymes et fonctionnent de la même, mais form_data= est juste plus facile sur les yeux, j'imagine.Trouve cette question au cours de ma recherche pour une solultion, et juste pour être clair, estampage' code est non fonctionnelle. Ce que j'ai obtenu le travail, c'est ce (à l'intérieur d'un plus grand Sinatra application):
sock
est une instance deNet::HTTP