我試圖發送一個簡單的POST請求到REST Web服務並打印響應(代碼如下,主要取自Yahoo!開發人員文檔和提供的一些MSDN代碼片段文檔)。我希望客戶端發送:C#REST客戶端使用POST發送數據
請求方法:POST(即我希望$ _ SERVER [ 'REQUEST_METHOD'] == 'POST' 在PHP)
數據:富=欄(即$ _ POST [ '富' ] ==在PHP '酒吧')
然而,這似乎是發送:
請求方法:FOO = BARPOST
數據:(空白)
我知道API的工作,因爲我」我已經用Python和PHP編寫的客戶端進行了測試,所以我非常確定它必定是我的C#的一個問題。我不是一個交易的.NET程序員,所以我會很感激任何關於如何確定問題的評論/指針 - 我相信這是一件微不足道的事情,但我無法自己發現它。
uri,用戶和密碼變量是在代碼的早期設置的 - 它們可以很好地處理GET請求。
request = (HttpWebRequest) WebRequest.Create(uri);
request.Credentials = new NetworkCredential(user, password);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
string postData = "foo=bar";
request.ContentLength = postData.Length;
StreamWriter postStream = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
postStream.Write(postData);
postStream.Close();
response = (HttpWebResponse) request.GetResponse();
REST API使用PHP編寫,並且使用C#客戶端時服務器上的$ _POST數組爲空。