我正在嘗試在 C# UWP 應用程序中向特定端點發(fā)出 POST 請求。我得到的結果只是主頁中的 HTML。在查看請求時,我指定了整個端點,但是在發(fā)出請求時,它只是命中主機(沒有端點)。我正在嘗試發(fā)布到:http://ip-address/api/devices/logs URI 正在發(fā)布到:http://ip-address代碼:Uri requestUri = new Uri("http://ip-address/api/devices/logs");var objClint = new System.Net.Http.HttpClient();System.Net.Http.HttpResponseMessage respon = await objClint.PostAsync(requestUri , new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(text), System.Text.Encoding.UTF8, "application/json"));string responJsonText = await respon.Content.ReadAsStringAsync();我打算取回 POST 請求的結果(如創(chuàng)建的對象),但我只是從主頁/登錄頁面獲取 HTML。我已經(jīng)嘗試設置BaseAddressobjClient 并僅通過端點的其余部分,將整個端點作為 in 中的參數(shù)傳遞PostAsync,然后添加UriKind.Absolute.我真的不知道從這里做什么。如果我GetAsync在同一個 URI 上運行,它不會縮短請求 URI 并給出正確的響應。我能從這里做什么?
1 回答

慕工程0101907
TA貢獻1887條經(jīng)驗 獲得超5個贊
當我測試您的代碼片段時,它按預期工作。您確定 POST 在這條路線上可用嗎?代碼可能沒有截斷 URL,返回只是一個重定向。我會先檢查一下。
無論哪種方式,如果您想嘗試另一種也應該工作的方式,這是一種使用相同依賴項提出請求的替代方式。
var baseUri = new Uri("http: //ip-address/");
var route = "/api/devices/logs";
using (var objClint = new HttpClient())
{
objClint.BaseAddress = baseUri;
var respon = await objClint.PostAsync(route, new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new { text = "text" }), System.Text.Encoding.UTF8, "application/json"));
}
- 1 回答
- 0 關注
- 349 瀏覽
添加回答
舉報
0/150
提交
取消