Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JSON está mostrando o erro 403 ao tentar buscar dados do banco de dados no Android


Aproveitando a dica esta postagem , acho que você pode precisar definir o User-Agent cabeçalho em sua solicitação JSON. Tente adicionar uma linha em JSONFunction.makeHttpRequest() antes da chamada para execute() Curti:
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");

ou, na linha antes de chamar setEntity() você poderia fazer 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"));

(Observação:essa string de agente do usuário é apenas uma que eu puxei do meu navegador. Você provavelmente pode usar uma de qualquer navegador moderno.)

Isso fará com que seu serviço REST acredite que a solicitação está vindo de um navegador da web. Suspeito que seja isso que pode estar causando o 403, ou seja, seu servidor web não sabe de que tipo de agente a solicitação está vindo. Quanto ao motivo pelo qual ele simplesmente parou de funcionar, talvez o servidor em que seu serviço PHP está sendo executado tenha sido atualizado recentemente para que não aceite solicitações em que o agente do usuário não esteja declarado.