Я использую Volley для подключения к базе данных MySql. Я создал таблицы базы данных и написал функцию php, а ниже приведен код Java. Все это работало все время, но только вчера он проснулся, выдав эту ошибку в logcat и не возвращая никакого ответа, тестирование php-скрипта с использованием gmail chrome почтальона работает очень хорошо, так что я думаю, что что-то не так в моем коде java.
BasicNetwork.performRequest: неожиданный код ответа 403 для http://192.168.43.71/database/login.php
Я знаю несколько вопросов, как это было задано ранее, я прошел через все, и, кажется, ничего не работает вообще. Я схожу с ума.
private void login() {
StringRequest jsonObjRequest = new StringRequest(Method.POST, Constants.ACCOUNTLOGIN,
loginSuccessListener(),
loginErrorListener()) {
protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("user_phone_number", sPhoneNumber);
params.put("user_password", sPassword);
return params;
};
};
mVolleyQueue.add(jsonObjRequest);
}
Сначала проверьте, можете ли вы открыть тот же URL в вашем мобильном браузере. Я предполагаю, что вы используете веб-сервер Apache2.4.9. Если вы не изменили значения по умолчанию, вы получите «отказано в разрешении».
Чтобы решить эту проблему, вам нужно изменить некоторые значения в файле «httpd.conf», который имеет настройки Apache.
1- Под DocumentRoot измените тэг Directory xml следующим образом:
<Directory />
AllowOverride none
Require all granted
</Directory>
2- Под «онлайн-тегом» обновите строку следующим образом:
<Directory />
...
...
...
# onlineoffline tag - don't remove
Require all granted
</Directory>
Примечание: если вы используете более старую версию Apache, вам нужен Google для правильного синтаксиса в httpd.conf
Дайте мне знать, если это изменит работу или нет. 🙂
BasicNetwork.performRequest: неожиданный код ответа 403 для Http: //localhost/database/login.php
Вот проблема в URL, используйте IP-адрес вашей системы, где вы размещали свои веб-службы, и отключите брандмауэр, антивирус, который иногда может блокировать доступ к вашим системным службам со стороны других.
Возможно, ваш IP-адрес изменился, подтвердите его еще раз. Формат URL службы будет что-то вроде Http: //your_system_ip_address/database/login.php
Пожалуйста, проверьте :
Я думаю, что это поможет.
Попытайся…
Перейти к XAMPP ..
В Apache откройте файл http-xampp.conf
прокомментируйте эти строки в конце …
# New XAMPP security concept
#<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
# Require local
# ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
#</LocationMatch>
Сохранить изменения…
перезагрузите apache … !!
Это решило мою проблему.
В C:\wamp64\bin\apache\apache2.4.23\conf\extra\httpd-vhosts.conf
менять Require local
о require local
в Require all granted
,
У меня ошибка, похожая на эту (400 вместо 403). Попробуйте сделать следующее.
if (statusCode < 200 || statusCode > 299) {
throw new IOException();
}