2013-10-31 67 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