Curl en utilisant Ruby
-
11-12-2019 - |
Question
J'essaie d'utiliser CURL avec SPNEGO Négocier un type d'authentification via Ruby.
J'ai essayé plusieurs bibliothèques, mais on dirait que httpi ait un moyen de le faire à travers son adaptateur de bordure comme ce lien:
https://gist.github.com/3179054#Comments
Je me demandais s'il y a un moyen d'envoyer des données JSON en tant que partie "Données" de ma boucle au lieu d'un fichier tel que donné dans le lien.(Je veux dire l'option Curl -D)
My Curl va comme ça:
curl -x post -d "{" ID ":" 12341234 "," FieldRequestested ": [" Titre "," State "," Composant "]}" -h> "Accepter: Application / JSON" -H"Type de contenu: Application / JSON" --Negotiate -u:> https://abcd.com/find/it
La solution
Envoyer des données JSON avec httpi / curb, définissez simplement votre chaîne JSON en tant que corps de demande comme suit:
require 'httpi'
require 'curb'
require 'json'
# ...
req.body = {"id"=>"12341234","fieldsRequested"=>["title","state","component"]}.to_json
# Then set your custom headers
req.headers = {"Accept" => "application/json", "Content-Type" => "application/json"}
Ne permettez pas également à l'option multipart_form_post
car Post Multipart n'est pas nécessaire:
req.auth.gssnegotiate
resp = HTTPI.post req do |http|
http.use_ssl
end