この投稿からヒントを得る 、User-Agent
を設定する必要があると思います JSONリクエストのヘッダー。 JSONFunction.makeHttpRequest()
に行を追加してみてください execute()
を呼び出す前 のように:
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");
または、setEntity()
を呼び出す前の行 次のようなことができます:
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"));
(注:このユーザーエージェント文字列は、ブラウザから取得したものにすぎません。おそらく、最新のブラウザから使用できます。)
これにより、RESTサービスはリクエストがWebブラウザーからのものであると認識します。これが403の原因である可能性があります。つまり、Webサーバーがリクエストの送信元のエージェントの種類を認識していない可能性があります。動作を停止した理由については、PHPサービスを実行しているサーバーが最近更新され、ユーザーエージェントが宣言されていないリクエストを受け入れないようになっている可能性があります。