Неизвестное исключение хоста, невозможно разрешить хост. Нет адреса, связанного с именем хоста
Я разрабатываю клиент-серверное приложение на Android, и я столкнулся с ошибкой из заголовка. Я пытаюсь с помощью Volley подключиться к своему серверу C#, который развернут через IIS на моем рабочем столе.
Это код, где я сталкиваюсь с ошибкой (URL-адрес отредактирован по соображениям конфиденциальности).
private void validate(final String userName,final String userPassword)
{
final ProgressDialog pDialog = new ProgressDialog(this);
pDialog.setMessage("Loading...");
pDialog.show();
String tag_json_obj = "json_obj_req";
String url = "http://hostname//urlExample/urlExample/urlExample/urlExample";
StringRequest strReq = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response)
{
if (response.compareTo("true") == 0)
{
pDialog.hide();
Intent intent = new Intent(getBaseContext(), MainActivity.class);
startActivity(intent);
}
else
{
pDialog.hide();
AlertDialog alertDialog = new AlertDialog.Builder(LoginActivity.this).create();
alertDialog.setTitle("Can't login");
alertDialog.setMessage("Invalid username or password");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error)
{
Log.e("ERROR", "Error occurred ", error);
pDialog.hide();
}
})
{
@Override
protected Map<String,String> getParams()
{
Map<String, String> params = new HashMap<>();
params.put("username", userName);
params.put("password", userPassword);
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
return headers;
}
};
AppController.getInstance().addToRequestQueue(strReq, tag_json_obj);
}
В поле URL, где написано "имя хоста", у меня есть имя хоста рабочего стола Windows, которое было взято из ipconfig / all. URL работает на моем ПК, если я пытаюсь получить к нему доступ, но он не работает на моем телефоне, даже в браузере.
Я уже добавил android.permission.INTERNET и android.permission.ACCESS_NETWORK_STATE в мой файл манифеста. У меня не активированы VPN, я не использую собственный DNS или у меня рутирован телефон, я проверил, что интернет работает, что и телефон, и ПК подключены к одному и тому же маршрутизатору, и оба используют один и тот же DNS. Я не знаю, что еще я могу сделать.