如何解决“无法解析主机”错误?

时间:2019-06-13 10:03:38

标签: xamarin asp.net-web-api xamarin.forms xamarin.android

我正在研究xamarin形式。我在哪里使用API​​。当我在android 5中运行该应用程序时,它工作正常,但如果我在运行7+,则出现类似错误

  

无法解析主机“ almsdev.southeastasia.cloudapp.azure.com”:没有与主机名关联的地址。

如何解决这个问题?

以下是代码段:

public async Task<HttpResponseMessage> Login(string EmailOrMobile)
    {
        try
        {

            var responseTask = await client.GetAsync(OauthBaseUrl + "OAuthSAAS/MSLogin?UserCredentials=" + EmailOrMobile);
            return responseTask;
        }
        catch (Exception ex)
        {
            Crashes.TrackError(ex);
            return null;
        }
    }

在按钮上单击“我正在调用上述方法”

 private async void fn_Submit_Clicked(object sender, EventArgs e)
 {  
    var response = await _oauthService.Login(txt_credentails.Text.Trim()); 
 }

我的基本URL是
http://almsdev.southeastasia.cloudapp.azure.com:81/api/

我正在使用 Http客户端=新的Http();

2 个答案:

答案 0 :(得分:0)

由于您的目标是Android 9.0(API级别28),因此默认情况下会禁用明文(非HTTPS)支持。 要解决此问题,您可以:使用HTTPS,或添加配置以允许http流量。

首先,在您的Android项目中,创建一个文件夹:xml并添加文件network_security_config

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <domain-config cleartextTrafficPermitted="true">
    <domain includeSubdomains="true">almsdev.southeastasia.cloudapp.azure.com</domain>
  </domain-config>
</network-security-config>

然后,在您的Manifest.xml

   <application android:label="YourAppName" android:networkSecurityConfig="@xml/network_security_config">

您可以在Xamarin Blog Post

中阅读更多内容

答案 1 :(得分:0)

尝试将登录凭据添加到Header Http Client。

相关问题