簡體   English   中英

我的 POST 請求在 c# 中失敗,但在 POSTMAN 中運行良好

[英]My POST request fails in c# but works perfectly fine in POSTMAN

我向本地安裝在我的服務器上的 nextcloud 安裝發出登錄請求。 我傳遞了 3 個參數:requesttoken、密碼、shareToken。 該請求在郵遞員中運行良好,但在我的 C# 代碼中失敗。

我收到以下響應,並帶有 412 狀態代碼。

"{\\"message\\":\\"CSRF 檢查失敗\\"}"

我復制粘貼了從我的郵遞員請求派生的 c# 代碼,如下所示。 有什么線索嗎?

    var client = new RestClient("https://nextcloud.xxxx.org/index.php/s/Sryt58drbe34/authenticate/showShare");
    var request = new RestRequest(Method.POST);
    request.AddHeader("Cache-Control", "no-cache");
    request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
    request.AddParameter("undefined", "requesttoken=oq%2Fqo4Nx0eNvYyty5QNeJqPbjZxMCtn3bFvUfEi%2Fwcg%3D%3AlOWrxPECsptWMBwGnTYMQ%2FG3yPENe7iQQwz7EQOLmYA%3D&password=bb9AYoqWSmAxiCgvFusW&sharingToken=Sryt58drbe34", ParameterType.RequestBody);

    IRestResponse response = client.Execute(request);

你的帖子應該是這樣的

var uri = "https://nextcloud.xxxx.org/index.php/s/Sryt58drbe34/authenticate/showShare"
var requestToken= "oq/qo4Nx0eNvYyty5QNeJqPbjZxMCtn3bFvUfEi/wcg=:lOWrxPECsptWMBwGnTYMQ/G3yPENe7iQQwz7EQOLmYA=";
var password = "bb9AYoqWSmAxiCgvFusW";
var shareToken = "Sryt58drbe34";

var formContent = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("requesttoken", requestToken), 
    new KeyValuePair<string, string>("password", password ),
    new KeyValuePair<string, string>("sharetoken ", shareToken )
});

var myHttpClient = new HttpClient();
var response = await myHttpClient.PostAsync(uri.ToString(), formContent);

暫無
暫無

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

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