ByetHost サーバーが JSON 文字列で HTML 値「ブラウザを確認しています」を渡す
問題
を試行したときAndroid で JSON 文字列を解析すると、代わりに HTML 値が返されます。この突然の問題は、ByetHost サーバーでホストされているすべてのページに影響しますが、他のサーバーでホストされているページは正常に動作します。
解決策
この問題は、ByetHost サーバーがtestcookie-nginx-module セキュリティのボット対策。このモジュールは、2 段階の検証プロセスを実行します。
手順Android アプリの問題を解決するには
Web ブラウザから Cookie キーを取得します:
アプリの HTTP リクエスト コードにヘッダーを追加します「__test」Cookie を含めるには、以下のようにします:
<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
「THE_CONTENT_OF_YOUR_COOKIE_HERE」を手順 1 で取得した「content」値に置き換えます。
これらの変更により、Android アプリには「 __test" Cookie を HTTP リクエストに組み込むことで、ByetHost サーバーからの必要な JSON レスポンスにアクセスできるようになります。
以上がAndroid アプリが ByetHost サーバーから JSON ではなく HTML を受信するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。