Nápověda z tohoto příspěvku , Myslím, že možná budete muset nastavit User-Agent
záhlaví ve vašem požadavku JSON. Zkuste přidat řádek do JSONFunction.makeHttpRequest()
před voláním funkce execute()
jako:
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");
nebo na řádku před voláním setEntity()
můžete udělat něco jako:
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"));
(Poznámka:Tento řetězec user-agent je pouze řetězec, který jsem vytáhl ze svého prohlížeče. Pravděpodobně jej můžete použít v jakémkoli moderním prohlížeči.)
Díky tomu bude vaše služba REST věřit, že požadavek přichází z webového prohlížeče. Mám podezření, že to je to, co může způsobovat 403, tj. že váš webový server neví, od jakého agenta požadavek přichází. Pokud jde o to, proč to právě přestalo fungovat, možná byl server, na kterém běží vaše služba PHP, nedávno aktualizován, takže nebude přijímat požadavky, kde není deklarován user-agent.