I yield - Ho provato per ore a rompere questo dado ma non riesco a capirlo. Sono troppo nuovo per Ruby (e non ho background Python!) Per tradurre questo e quindi postare i miei dati JSON in un sito che richiede user/pass, e quindi ottenere i dati di risposta.Come posso postare JSON via HTTP in Ruby dopo la conversione da Python?
Questo è il codice Python:
r = requests.post('https://keychain.oneid.com/validate/', json.dumps(data), auth=('username', 'password'))
r.json()
dove data
è:
{"some" => "data", "fun" => "times"}
Sto cercando di replicare la funzionalità di questo codice in Ruby per l'uso con un'applicazione Rails, ma tra Capendo come funziona la funzione Python requests.post()
e poi scrivendo il codice Ruby per POST e GET, sono completamente perso.
ho cercato Net :: HTTP, ma non mi è chiaro se devo mettere il nome utente/passaggio nel corpo o uso il metodo basic_auth
-basic_auth
sembra funzionare solo all'interno Net::HTTP.get
... e Net :: HTTP non sembra gestire facilmente JSON, ma ancora una volta, potrei essere completamente fuori a pranzo a questo punto.
Qualsiasi suggerimento o aiuto sarebbe molto apprezzato!
due cose -1) dove vengono inviati i dati JSON? 2) Solo errori con "rrno :: ECONNRESET: connessione ripristinata da peer - SSL_connect" ... qualche idea? – Dan
1) Aggiungi dati JSON: req.body = {: some => 'data',: fun => 'times'}. To_json 2) Forse è un problema OpenSSL: http://stackoverflow.com/questions/11321403/ openssl-trouble-with-ruby-1-9-3 – zhongguoa
Grazie mille, funziona come un fascino. Se qualcun altro colpisce il problema di OpenSSL, questa risorsa è stata la migliore e ha risolto il mio problema: http://railsapps.github.io/openssl-certificate-verify-failed.html – Dan