2013-12-20 82 views
1

我嘗試使用下面的代碼來發佈一個以REST API使用WebClient的對象REST API調用:錯誤使用C#

string URI = "https://api.myTrade.com/s1/order/" + orderId; 
      string myParameters = "symbol=AAPL&duration=day&side=buy&quantity=1&type=limit&price=1"; 
      Console.Write("Parameters : " + myParameters + "\n"); 
      using (WebClient wc = new WebClient()) 
      { 
       wc.Headers[HttpRequestHeader.Authorization] = "Bearer " + token 
       wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
       wc.Headers[HttpRequestHeader.Accept] = "application/json"; 
       string responsebody = wc.UploadString(URI, myParameters); 
       //Console.Write("Output : " + responsebody + " "); 
       dynamic dynObj = JsonConvert.DeserializeObject(responsebody); 

       return responsebody; 
      } 

我得到以下異常:

Input String was not in a correct format. 

任何非常感謝幫助。

回答

1

應該有一個

之後的orderId參數的字符串。也可以嘗試URL編碼

http://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode(v=vs.110).aspx

http://msdn.microsoft.com/en-us/library/zttxte6w(v=vs.110).aspx

希望它能幫助。

+0

謝謝@Stewart Mbofana,能夠得到輸出。我使用WebClient.UploadValues()方法測試了NameValueCollection,該方法也可以正常工作。 – aceventura

+1

沒問題的隊友。很高興它最終出來。 –