我使用Xamarin.Forms,我的優先級是UWP。我試圖通過System.Net.Http.HttpClient
使POST請求和我的代碼看起來像這樣Xamarin.Forms HTTPS和自簽名證書問題
public async Task<LoginResponse> Login(User user)
{
HttpClient client = await GetClient();
var response = await client.PostAsync(Url, new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json"));
var mobileResult = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<LoginResponse>(mobileResult);
return result;
}
當我讓我得到這個錯誤
System.Net.Http.HttpRequestException請求:發生錯誤同時發送 的請求。 ---> System.Runtime.InteropServices.COMException:找不到與此錯誤代碼關聯的 文本。
的證書頒發機構是無效或不正確
在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在 系統.Net.Http.HttpHandlerToFilter.d__4.MoveNext() ---從先前的位置堆棧跟蹤其中的例外是在 系統拋出---在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)結束。 Runtime.CompilerServices .TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在 System.Net.Http.HttpClientHandler.d__86.MoveNext()--- 內部異常堆棧跟蹤的末尾在 System.Net.Http.HttpClientHandler.d__86.MoveNext () ---從先前的位置在那裏引發異常---堆棧跟蹤的結尾處 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在 System.Net.Http.HttpClient.d__58.MoveNext() ---從以前的位置拋出異常的堆棧跟蹤結束---在 System.Runtime.Compile rServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)在System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() at SampleApp.Services.LoginService.<Login>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() 在SampleApp.Views.LoginPage.d__1。 MoveNext()
我認爲導致問題的自簽名SSL。我知道我可以使用Windows.Web HttpClient忽略SSL錯誤,但由於一些問題,現在是不可能的。 我該如何解決這個問題?提前致謝。
你介意顯示你的網址嗎? –
它類似於https://xx.xxx.xxx.xx/v1/login。不能顯示完整的URL抱歉。從https://開始。 – Tartar
我想你可以使用'DependencyService'來通過'Windows.Web.Http'獨立地在uwp客戶端項目中實現登錄功能。 –