sql >> Databasteknik >  >> RDS >> Mysql

JSON visar fel 403 när man försöker hämta data från databasen i Android

Tar en ledtråd från det här inlägget , jag tror att du kan behöva ställa in User-Agent header i din JSON-förfrågan. Prova att lägga till en rad i JSONFunction.makeHttpRequest() före anropet till execute() gillar:

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

eller på linjen innan du anropar setEntity() du kan göra något som:

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

(Obs:den här användaragentsträngen är bara en som jag hämtade från min webbläsare. Du kan förmodligen använda en från vilken modern webbläsare som helst.)

Detta kommer att få din REST-tjänst att tro att begäran kommer från en webbläsare. Jag misstänker att det är det som kan orsaka 403:an, det vill säga att din webbserver inte vet vilken typ av agent förfrågan kommer från. När det gäller varför det bara slutade fungera, kanske servern där din PHP-tjänst körs uppdaterades nyligen så att den inte accepterar förfrågningar där användaragenten inte deklareras.




  1. MySQL Great Circle Distance (Haversine-formel)

  2. SQLite - Skapa en databas

  3. Grunderna i SQL Server ALTER TABLE Statement

  4. Fulltextsökning installerad eller inte