ホームページ  >  記事  >  バックエンド開発  >  以下に、記事の内容に適したいくつかの英語のタイトルを質疑応答形式で示します。 1. Android アプリが ByeHost サーバーから JSON データではなく HTML データを受信するのはなぜですか? 2. JSON データを取得するときに発生する「ブラウザを確認しています」エラーを修正するにはどうすればよいですか?

以下に、記事の内容に適したいくつかの英語のタイトルを質疑応答形式で示します。 1. Android アプリが ByeHost サーバーから JSON データではなく HTML データを受信するのはなぜですか? 2. JSON データを取得するときに発生する「ブラウザを確認しています」エラーを修正するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 12:04:55574ブラウズ

以下是几个适合文章内容的英文标题,以问答形式呈现:

1. Why is my Android app receiving HTML instead of JSON data from a ByeHost server?
2. How do I fix the

ByeHost サーバーが JSON 文字列で「ブラウザを確認しています」という HTML 値を送信する

質問:

Android に JSON 文字列を解析しようとすると、HTML 値が渡されます。 1 日前まではすべて正常に機能していましたが、PHP ファイルを使用してデータベースを取得しようとすると、突然アプリケーションがクラッシュし始めました。

確認したところ、HTML 値に気づきました。logcat を参照してください。

答え:

解決策:

  1. HTTP リクエストに Cookie を追加します:

ByeHost は、testcookie-nginx-module と呼ばれるアンチボット セキュリティ モジュールを使用します。このモジュールは、HTTP リクエストに対して 2 段階の検証を実行します:

ステップ 1: 最初のリクエストで、モジュールは検証 Cookie を生成する JavaScript を返します。

ステップ 2: 後続のリクエストでは、クライアントは認証 Cookie を追加し、モジュールは Cookie AES キーを検証してリクエストの続行を許可します。

  1. Cookie キーを取得し、Android リクエストに追加します:
  • Web ブラウザを使用して URL に 1 回アクセスし、生成クッキー。
  • Web ブラウザから __test Cookie の値を取得します。
  • Android アプリケーションでは、HTTP リクエストに 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>

これらの手順により、アプリケーションには検証に合格するための Cookie が含まれ、期待される JSON データを取得できるようになります。

以上が以下に、記事の内容に適したいくつかの英語のタイトルを質疑応答形式で示します。 1. Android アプリが ByeHost サーバーから JSON データではなく HTML データを受信するのはなぜですか? 2. JSON データを取得するときに発生する「ブラウザを確認しています」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。