• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ruby http重名參數請求問題

    發表于:2012-10-18來源:futurehandw作者:吳穎敏點擊數: 標簽:ruby
    Jason在做web service自動化測試平臺的時候遇到ajax傳回的數據,rails中無法利用 Ruby Net::HTTP post正確傳值,這里將解決方案做下memory。

      Jason在做web service自動化測試平臺的時候遇到ajax傳回的數據,rails中無法利用 Ruby Net::HTTP post正確傳值,這里將解決方案做下memory。

      Problem:

      params1["a"] = ['int','int']

      params1["b"] = ['string','string']

      uri = URI.parse(“http://XX.XX.XX.XX/invoke.json”)

      res = Net::HTTP.post_form(uri, params1)

      傳值出現 b=stringstring&a=intint的情況。

      Reason:

      察看NET::HTTP發現 post_form最終調用的 set_form_data 的問題。

      Solution:

      修改代碼增加對子value的判斷

      def set_form_data(request, params, sep = ‘&’)

      request.body = params.map {|k,v|

      if v.instance_of?(Array)

      v.map {|e| “#{urlencode(k.to_s)}=#{urlencode(e.to_s)}”}.join(sep)

      else

      “#{urlencode(k.to_s)}=#{urlencode(v.to_s)}”

      end

      }.join(sep)

      request.content_type = ‘application/x-www-form-urlencoded’

      end

      def urlencode(str)

      str.gsub(/[^a-zA-Z0-9_\.\-]/n) {|s| sprintf(‘%%%02x’, s[0]) }

      end

    自動化測試優化的路還很長,walking on
    :)

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>