Bagaimana untuk Membetulkan Testcookie-nginx-modul ByetHost Menyekat Respons JSON dalam Apl Android?

Patricia Arquette
Lepaskan: 2024-11-03 15:17:30
asal
949 orang telah melayarinya

How to Fix ByetHost's testcookie-nginx-module Blocking JSON Responses in Android Apps?

Pelayan ByetHost mengembalikan nilai HTML dengan JSON String

Masalah

Semasa cuba menghuraikan rentetan JSON ke Android, nilai HTML dihantar sebaliknya. Sebelum ini, kod berfungsi dengan baik, tetapi tiba-tiba mula ranap apabila mengambil pangkalan data dengan bantuan fail PHP.

Setelah menyemak, nilai HTML diperhatikan dalam logcat:

<html><body><h2>Checking your browser..</h2><script...
Salin selepas log masuk

Sebab

Masalah utama ialah ByetHost melaksanakan modul anti-bot keselamatan ringkas bernama testcookie-nginx-module.

Penyelesaian

testcookie-nginx-modul melakukan dua langkah pengesahan:

  1. Pada permintaan HTTP pertama, ia mengembalikan JavaScript dan bukannya JSON yang dijangkakan. Skrip ini dilaksanakan pada klien (biasanya penyemak imbas web) dan menjana kuki pengesahan yang mengandungi kunci AES.
  2. Skrip menambah kuki pengesahan pada dokumen dan mengubah halanya ke URL yang sebenarnya kita mahu akses. Modul testcookie-nginx mengesahkan kunci AES kuki dan membenarkan permintaan menekan URL yang akan bertindak balas dengan data JSON.

Penyelesaian untuk Apl Android

Untuk memintas pengesahan ini dalam Android, ikuti langkah berikut:

  1. Dapatkan kunci kuki daripada penyemak imbas web:

    • Gunakan Google Chrome atau penyemak imbas lain.
    • Lawati tapak web dan benarkan kuki.
    • Buka tetapan penyemak imbas dan navigasi ke "Tetapan Kandungan" -> "Semua kuki dan data tapak".
    • Cari nama tapak web anda (cth., "byethost").
    • Cari kuki bernama __test dan salin nilai kandungan, laluan dan tamat tempoh.
    • Tetapkan kuki pada apl Android anda:

      • Dalam kod anda yang membuat permintaan HTTP, tambahkan pengepala berikut:

        <code class="java">httpPost.addHeader("Cookie", "__test=<content-of-your-cookie>; expires=<expires>; path=<path>");</code>
        Salin selepas log masuk
    • Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Testcookie-nginx-modul ByetHost Menyekat Respons JSON dalam Apl Android?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!