Tager et tip fra dette indlæg , jeg tror, at du muligvis skal indstille User-Agent
header i din JSON-anmodning. Prøv at tilføje en linje i JSONFunction.makeHttpRequest()
før kaldet til execute()
som:
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 før du kalder setEntity()
du kunne gøre noget 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"));
(Bemærk:denne user-agent-streng er kun en, jeg hentede fra min browser. Du kan sikkert bruge en fra enhver moderne browser.)
Dette vil få din REST-tjeneste til at tro, at anmodningen kommer fra en webbrowser. Jeg formoder, at det er det, der kan være årsagen til 403, dvs. at din webserver ikke ved, hvilken slags agent anmodningen kommer fra. Med hensyn til hvorfor det lige holdt op med at fungere, er serveren, hvor din PHP-tjeneste kører, måske blevet opdateret for nylig, så den ikke accepterer anmodninger, hvor brugeragenten ikke er deklareret.