4

rest-client gem を使用して何かを投稿しようとしていますが、何らかの理由で内部サーバー エラーが発生し続けます。Chrome で Simple REST Client を使用しましたが、次のヘッダーを送信しない限り、同じエラーが発生しました。

Content-Type: application/x-www-form-urlencoded

そのため、投稿リクエストでそのヘッダーを送信しようとしていますが、何らかの理由でまだ機能していません。これが私が試したものです:

RestClient.post "server", :content_type=>"Content-Type: application/x-www-form-urlencoded",:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", {:content_type=> "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", {"Content-Type" =>"Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", :header => {:content_type=>: "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'

誰かが私が間違っていることを教えてもらえますか? ヘッダーの設定方法を示すいくつかのドキュメントを探しましたが、何も機能していないようです。

4

1 に答える 1

5

私はこのようなことを試してみましたが、うまくいきました:

options[:multipart] = true
# more options

resource = RestClient::Resource.new uri, options[:username], options[:password]
resource.post options do |response, request, result|

..............

end

通常のパラメーターと同様に、マルチパートを渡す必要があるようです。2 番目の引数は、単純にヘッダーに追加されます。

お役に立てれば

resource.post {params and request}, {custom headers here} do.... 
...
于 2011-05-20T14:49:00.780 に答える