Mysql
 sql >> Datenbank >  >> RDS >> Mysql

JSON zeigt Fehler 403 beim Versuch, Daten aus der Datenbank in Android abzurufen

Nehmen Sie einen Hinweis von diesem Beitrag , ich denke, Sie müssen möglicherweise den User-Agent festlegen Header in Ihrer JSON-Anfrage. Versuchen Sie, eine Zeile in JSONFunction.makeHttpRequest() hinzuzufügen vor dem Aufruf von execute() wie:

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");

oder in der Zeile vor dem Aufruf von setEntity() Sie könnten so etwas tun:

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"));

(Hinweis:Dieser User-Agent-String ist nur einer, den ich aus meinem Browser gezogen habe. Sie können wahrscheinlich einen aus jedem modernen Browser verwenden.)

Dadurch glaubt Ihr REST-Dienst, dass die Anfrage von einem Webbrowser kommt. Ich vermute, dass dies die Ursache für 403 ist, dh dass Ihr Webserver nicht weiß, von welcher Art von Agent die Anfrage kommt. Warum es gerade aufgehört hat zu funktionieren, vielleicht wurde der Server, auf dem Ihr PHP-Dienst läuft, kürzlich aktualisiert, sodass er keine Anfragen akzeptiert, bei denen der User-Agent nicht deklariert ist.