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.