Rubyを使ったカール
-
11-12-2019 - |
質問
Rubyを介してSPNEGO交渉の種類の認証を交渉しています。
私はいくつかのライブラリを試しましたが、HTTPIのように思われるようです。
https://gist.github.com/3179054.Comments
私は、リンク内のファイルの代わりにJSONデータを「データ」部分として送信する方法があるかどうか疑問に思いました。(私はcurl -dオプションを意味する)
私のカールはこのようになります:
curl-x post -d "{" ID ":" FieldRequested ":[" title "、" state "、" component "]}" h> "ACCEPT:Application / json" ~h"content-type:application / json" --negotiate -u:> https://abcd.com/find/it
解決
HTTS / CURBでJSONデータを送信するには、次のようにjson文字列をリクエストボディとして設定してください。
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"}
.
Multipart Postが必要ないため、multipart_form_post
オプションも有効にしないでください。
req.auth.gssnegotiate
resp = HTTPI.post req do |http|
http.use_ssl
end
. 所属していません StackOverflow