質問

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
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top