簡體   English   中英

C#httpclient PostAsJson發送GET請求而不是POST

[英]c# httpclient PostAsJson sending GET request instead of POST

我正在使用HttpClient發出發布請求。 我回到405方法不被允許。 在提琴手中捕獲軌跡時,它作為GET而不是POST發出!

using (var client = new HttpClient())
            {
                var url = AppSettingsUtil.GetString("url");
                var response = client.PostAsJsonAsync(url, transaction).Result;
            }

我知道異步/等待問題。 這是顯示問題的簡化示例。

是否存在某種可能會影響此的web.config或machine.config設置? 其他請求(通過RestSharp發送)正確發送了帖子

這是提琴手捕獲的東西。 在提琴手中運行跟蹤也會返回405(如預期)。 手動將其切換為POST並從fiddler運行工作。

另外,也許因為方法已切換為GET,所以提琴手中沒有捕獲任何主體,所以我不得不手動粘貼到JSON中

GET /*URL*/ HTTP/1.1
Content-Type: application/json; charset=utf-8
Host: /*host*/
Connection: Keep-Alive

問題似乎是有人在未告知我們的情況下更改了URL,因此他們將重定向設置到位。 HttpClient正在響應重定向,但最終實際上將請求作為Get發送到最終目的地。

在我看來,這似乎是HttpClient中的錯誤,它應該將最終請求作為Post發送,或者引發異常,表明它無法執行我要求的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM