2013-10-31 68 views
0

我试图模拟在Fedex.com上发生的POST请求,当它们加载包的跟踪信息时。模仿JSON在Ruby/Rails中向外部网站发布请求

该请求员额是https://www.fedex.com/trackingCal/track

,它在获取完整的JSON请求发送数据的URL是

#{"TrackPackagesRequest":{"appType":"wtrk","uniqueKey":"","processingParameters":{"anonymousTransaction":true,"clientId":"WTRK","returnDetailedErrors":true,"returnLocalizedDateTime":false},"trackingInfoList":[{"trackNumberInfo":{"trackingNumber":"61297641750622453544","trackingQualifier":"","trackingCarrier":""}}]}}

我的目标是在我的Rails应用程序养活一个跟踪号码到这个post请求中,并模仿网站正在做什么,点击终端并获取JSON或XML响应以解析并在我的应用中使用。

我不清楚如何做到这一点,我迄今为止所做的努力与net/httpopen-uri都没有奏效。

这里的任何帮助将不胜感激

回答

-1

希望这会帮助你。 [未测试]

require "net/http" 
url = URI.parse("https://www.fedex.com/trackingCal/track") 
args = { 
    "TrackPackagesRequest"= { 
     "appType"= "wtrk", 
     "uniqueKey"= "", 
     "processingParameters"= { 
      "anonymousTransaction"= true, 
      "clientId"= "WTRK", 
      "returnDetailedErrors"= true, 
      "returnLocalizedDateTime"= false 
     }, 
     "trackingInfoList"= [ 
      { 
       "trackNumberInfo"= { 
        "trackingNumber"= "61297641750622453544", 
        "trackingQualifier"= "", 
        "trackingCarrier"= "" 
       } 
      } 
     ] 
    } 
resp, data = Net::HTTP.post_form(url, args) 
response = JSON.parse(data) 
print response.inspect