我正在使用xamarin编写android应用程序。我有两个edittext字段的登录屏幕。
我需要通过http post请求为登录请求编写代码。
我有这个密码:
Button signin = FindViewById<Button>(Resource.Id.btn);
var email = FindViewById<EditText>(Resource.Id.username);
var password = FindViewById<EditText>(Resource.Id.password);
email_data = email.Text;
password_data = password.Text;
signin.Click += async delegate
{
if (string.IsNullOrEmpty(email.Text))
{
Toast.MakeText(this, "Please, fill email", ToastLength.Long).Show();
}
if (string.IsNullOrEmpty(password.Text))
{
Toast.MakeText(this, "Please, fill password", ToastLength.Long).Show();
}
else
{
var client = new HttpClient();
var content = new StringContent(
JsonConvert.SerializeObject(new { username = email_data, password = password_data }));
var result = await client.PostAsync("http://stg-api.tieit.io/auth/login", content).ConfigureAwait(false);
if (result.IsSuccessStatusCode)
{
var tokenJson = await result.Content.ReadAsStringAsync();
Console.WriteLine(tokenJson.ToString());
}
var intent = new Intent(this, typeof(HomeView));
StartActivity(intent);
}
};
但当我点击
signin
按钮时,出现了这个错误。System.Net.WebException: Error: NameResolutionFailure
未处理的异常:10-05 12:06:26.877 E/Mono(27175):
system.net.webexception:错误:nameresolutionfailure 10-05
12:06:26.877 E/Mono RT(27175):[错误]致命的未处理异常:
system.net.webexception:错误:nameresolutionfailure 10-05
12:06:26.889输入/ispdrv(27175):{ispdrv}[~ispdrvimp]
我怎么解决?
谢谢你的帮助
最佳答案
我刚刚对stg-api.tieit.io做了nslookup
操作,没有返回任何结果,但是我得到了tieit.io的IP。如果子域stg-api.tieit.io位于专用网络上,则您的代码需要在同一专用网络上的设备上运行。如果该子域应该在Internet上,则需要为stg-api.tieit.io创建一个DNS条目以将其映射到IP地址。如果您无法控制该域的DNS条目,请与IT经理联系。