sql >> Base de Datos >  >> RDS >> Mysql

JSON muestra el error 403 al intentar obtener datos de la base de datos en Android

Tomando una pista de esta publicación , creo que es posible que deba configurar el User-Agent encabezado en su solicitud JSON. Intente agregar una línea en JSONFunction.makeHttpRequest() antes de la llamada a execute() como:

httpPost.setHeader("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36");

o, en la línea antes de llamar a setEntity() podrías hacer algo como:

para.add(new NameValuePair("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"));

(Nota:esta cadena de agente de usuario es solo una que saqué de mi navegador. Probablemente pueda usar una de cualquier navegador moderno).

Esto hará que su servicio REST crea que la solicitud proviene de un navegador web. Sospecho que eso es lo que puede estar causando el 403, es decir, que su servidor web no sabe de qué tipo de agente proviene la solicitud. En cuanto a por qué simplemente dejó de funcionar, tal vez el servidor donde se ejecuta su servicio PHP se actualizó recientemente para que no acepte solicitudes en las que no se declara el agente de usuario.