Prenant un indice de ce message , je pense que vous devrez peut-être définir le User-Agent
en-tête dans votre requête JSON. Essayez d'ajouter une ligne dans JSONFunction.makeHttpRequest()
avant l'appel à execute()
comme :
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");
ou, sur la ligne avant d'appeler setEntity()
vous pourriez faire quelque chose comme :
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"));
(Remarque :cette chaîne d'agent utilisateur n'est que celle que j'ai extraite de mon navigateur. Vous pouvez probablement en utiliser une à partir de n'importe quel navigateur moderne.)
Cela fera croire à votre service REST que la demande provient d'un navigateur Web. Je soupçonne que c'est ce qui peut causer le 403, c'est-à-dire que votre serveur Web ne sait pas de quel type d'agent provient la demande. Quant à savoir pourquoi il a simplement cessé de fonctionner, peut-être que le serveur sur lequel votre service PHP s'exécute a été mis à jour récemment afin qu'il n'accepte pas les requêtes où l'agent utilisateur n'est pas déclaré.