簡體   English   中英

可以使用C#模擬Post等AngularJS登錄提交嗎?

[英]Possible to Use C# to Simulate AngularJS login submission like Post?

我看到一個網頁,該網頁具有<form name="formName" ng-submit=... ,我很好奇是否可以使用C#.Net登錄該網站。

我熟悉使用c#發送包括HttpClient PostAsync在內的“ Post”數據,但是我很難搜索它,因為每篇文章都談到了angularjs控制器或從angularjs頁面轉到其他頁面。 即使指向正確的方向也會很有幫助!

我發現的發布示例

var client = new HttpClient();
var pairs = new List<KeyValuePair<string, string>>
    {
        new KeyValuePair<string, string>("pqpUserName", "admin"),
        new KeyValuePair<string, string>("password", "test@123")
    };
var content = new FormUrlEncodedContent(pairs);
var response = client.PostAsync("youruri", content).Result;
if (response.IsSuccessStatusCode)
{
}

首先, 使用Using語句包裝實現IDisposible接口的類。 這是一個很棒的功能,可以確保在代碼完成后調用資源處理方法。

為了使這項工作有效,並且不知道實際的身份驗證類型,但我想您在此處使用承載令牌運行時,還需要在url中傳遞grant_type。

像這樣嘗試

var postData ="grant_type=password&pqpUserName=admin&password=test@123";

using (var httpClient = new HttpClient())
{
    using (var content = new FormUrlEncodedContent(postData))
    {
        content.Headers.Clear();
        content.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
        var response = await httpClient.PostAsync("youruri", content);
        var apiResponse = await response.Content.ReadAsAsync<TResult>();
    }
}

暫無
暫無

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

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