Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Apl Android Saya Menerima HTML Daripada JSON daripada Pelayan ByetHost?

Mengapa Apl Android Saya Menerima HTML Daripada JSON daripada Pelayan ByetHost?

Mary-Kate Olsen
Lepaskan: 2024-10-28 05:16:02
asal
358 orang telah melayarinya

Why is My Android App Receiving HTML Instead of JSON from a ByetHost Server?

Pelayan ByetHost Melepasi Nilai HTML "Menyemak Penyemak Imbas Anda" dengan JSON String

Masalah
Apabila cuba untuk menghuraikan rentetan JSON pada Android, nilai HTML dikembalikan. Isu mengejut ini menjejaskan semua halaman yang dihoskan pada pelayan ByetHost, manakala halaman yang dihoskan pada pelayan lain berfungsi dengan baik.

Penyelesaian

Isu ini timbul disebabkan oleh pelayan ByetHost yang melaksanakan ukuran anti-bot keselamatan modul testcookie-nginx. Modul ini menjalankan proses pengesahan dua langkah:

  1. Untuk permintaan HTTP pertama, modul mengembalikan coretan JavaScript dan bukannya respons JSON yang dijangkakan. Coretan ini menjana kuki pengesahan yang mengandungi kunci AES pada bahagian klien.
  2. Permintaan HTTP seterusnya dengan kuki yang dijana membenarkan akses kepada respons JSON yang diingini.

Langkah-langkah untuk Menyelesaikan Isu untuk Apl Android

  1. Dapatkan Kunci Kuki daripada Penyemak Imbas Web:

    • Akses URL ByetHost dalam penyemak imbas web.
    • Semak tetapan kuki penyemak imbas dan perhatikan kuki "__test".
    • Salin nilai untuk "kandungan," "laluan" dan "tamat tempoh" daripada "__test" " cookie.
  2. Tetapkan Kuki pada Apl Android:

Dalam kod permintaan HTTP apl anda, tambahkan pengepala di bawah untuk memasukkan kuki "__test":

<code class="java">httpPost.addHeader("Cookie", "__test=THE_CONTENT_OF_YOUR_COOKIE_HERE; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");</code>
Salin selepas log masuk

Ganti "THE_CONTENT_OF_YOUR_COOKIE_HERE" dengan nilai "kandungan" yang diperoleh dalam langkah 1.

Dengan perubahan ini, apl Android akan menyertakan " kuki __test" dalam permintaan HTTPnya, membenarkannya mengakses respons JSON yang dikehendaki daripada pelayan ByetHost.

Atas ialah kandungan terperinci Mengapa Apl Android Saya Menerima HTML Daripada JSON daripada Pelayan ByetHost?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan