1

ルビーを介してSPNEGOネゴシエートの種類の認証でCurlを使用しようとしています。

私はいくつかのライブラリを試しましたが、httpi には次のリンクのような縁石アダプターを介してそれを行う方法があるようです:

https://gist.github.com/3179054#comments

リンクに示されているように、JSONデータをファイルの代わりにcurlの「データ」部分として送信する方法があるかどうか疑問に思っていました。(curl -d オプションのことです)

私のカールは次のようになります:

curl -X POST -d "{"id": "12341234","fieldsRequested":["title","state","component"]}" -H >"Accept: application/json" -H "Content-タイプ: application/json" --negotiate -u : >https://abcd.com/find/it

4

1 に答える 1

1

JSON データを HTTPI/curb で送信するには、次のように 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_form_post、マルチパート POST は必要ないため、オプションを有効にしないでください。

req.auth.gssnegotiate
resp = HTTPI.post req do |http|
  http.use_ssl
end
于 2012-09-29T10:49:18.340 に答える