[英]Anglesharp and Xamarin.Forms OpenAsync does not work in.Droid project
我目前有一个适用于Java的Android应用程序,我正在Xamarin.Forms中重写该应用程序以获取iOS支持。 在Android应用程序中,我使用了Jsoup,在Xamarin应用程序中,我使用了AngleSharp。
我遇到的问题是,以下代码可在iOS和UWP上运行,但不能在Droid项目中使用。
我的怀疑是调用context.OpenAsync(url);时没有建立连接。
我有
<uses-permission android:name="android.permission.INTERNET" />
在我的Android清单中。 我的目标是minSdk = 17,targetSdk = 24。 问题一直存在于模拟器和我的Galaxy S7中。
码:
try
{
var url = "<URL>";
var configuration = Configuration.Default.WithDefaultLoader().WithCookies();
var context = BrowsingContext.New(configuration);
var document = await context.OpenAsync(url);
IHtmlInputElement username = document.QuerySelector("input[id='username']") as IHtmlInputElement;
IHtmlInputElement password = document.QuerySelector("input[id='password']") as IHtmlInputElement;
IHtmlFormElement loginform = document.QuerySelector("form[id='logonForm']") as IHtmlFormElement;
username.Value = "<uname>";
password.Value = "<pword>";
document = await loginform.SubmitAsync();
Debug.WriteLine(context.Active.Url);
}
catch (Exception e)
{
Debug.WriteLine("ERROR " + e);
}
铌。 由于隐私原因,我没有显示网址或用户名和密码。 任何帮助表示赞赏!
这不是AngleSharp的问题,而是下面的Mono堆栈的问题。 确保您已授予该应用必要的权限。 另外,请确保接受了潜在的证书(如果通过HTTPS访问该页面)。 Android将拒绝不符合权限模型的请求(例如,应用程序没有权限,未安装自签名证书,...)。
希望这可以帮助! (不幸的是,从未找到/传达过该问题的确切问题-请参阅相应的GitHub问题 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.