1

someapi.com?userID=123などのURLにxmlを投稿する必要があるAPIを使用しています。これまでのところ、私はこれを試しました(xmlがすでにxml変数で構成されていると仮定します):

url = URI.parse('http://www.someapi.com/process_leads.asp')
request = Net::HTTP::Post.new(url.path)
request.content_type = 'text/xml'
request.body = xml
request.set_form_data({'userID' => '1204'}, ';')
response = Net::HTTP.start(url.host, url.port) {|http| http.request(request)}

ユーザーIDをフォームデータとして持つことができるかどうかを把握しようとしていますが、xmlを投稿することもできますか?基本的に、xmlをhttp://www.someapi.com/process_leads.asp?userID=1204に投稿することになっています。それは可能ですか?

4

1 に答える 1

7

HTTPartyなどのHttpライブラリの使用を検討します

リクエストにHTTPartyを使用する例は、次のようになります。

HTTParty.post('http://www.someapi.com/process_leads.asp', :query => {:userID => 1024}, :body => xml )

:queryオプションは、投稿URLに追加されるキー/値のハッシュを取ります。:bodyはxmlの移動先です。

注:一部のAPIでは、xmlに名前を付ける必要があります。たとえば、次のようなことを行う必要がある場合があります。

:body => "request=#{xml}"

お役に立てれば。

于 2011-11-03T09:13:36.327 に答える