[英]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.