Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

ANDROID &PHP - Cách hiển thị JSONArray từ MySql bằng PHP

Vấn đề

HttpURLConnection không có hỗ trợ JavaScript, nhưng một cookie cần thiết được tạo bằng JavaScript.

Cuộc gọi của bạn

String reqUrl = "http://zxccvvv.cuccfree.com/send_data.php";
URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

không thành công, vì cookie __test bị mất tích.

Khắc phục

Ngay từ cái nhìn đầu tiên về nguồn JavaScript, cookie có vẻ là không đổi đối với một url nhất định, vì vậy nó có thể đủ để đặt cho cookie không đổi :

String cookie = "__test=2bf7c15501c0ec57f8e41cb84871a69c";

URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(7000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", cookie);

Thay thế: Sử dụng WebView, chúng tôi có thể lấy cookie, vì vậy đây là cách tiếp cận thích hợp hơn, vì nó sẽ không bị hỏng, nếu cookie thay đổi và không mất nhiều thời gian:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    getCookie();

    if(cookie!=null) {
        new GetContacts().execute();
    }
}

private void getCookie(){
    CookieManager.setAcceptFileSchemeCookies(true);
    WebView wv = new WebView(getApplicationContext());
    wv.getSettings().setJavaScriptEnabled(true);
    wv.loadUrl(url);
    cookie = CookieManager.getInstance().getCookie("zxccvvv.cuccfree.com");
}

và đặt nó như trong ví dụ trên:

conn.setRequestProperty("Cookie", cookie);

Đầu ra trong logcat

Response from url: [{"0":"1","id":"1","1":"pertanyaan ke 1","ask":"pertanyaan ke 1"},{"0":"2","id":"2","1":"pertanyaan ke 2","ask":"pertanyaan ke 2"},{"0":"3","id":"3","1":"pertanyaan ke 3","ask":"pertanyaan ke 3"},{"0":"4","id":"4","1":"pertanyaan ke 4","ask":"pertanyaan ke 4"},{"0":"5","id":"5","1":"pertanyaan ke 5","ask":"pertanyaan ke 5"}]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LỖI 1356 (HY000):Xem các tham chiếu của 'mysql.user' không hợp lệ (các) bảng hoặc (các) cột hoặc (các) hàm hoặc bộ định nghĩa / người gọi của chế độ xem thiếu quyền sử dụng chúng

  2. MySQL Chọn DISTINCT nhiều cột dựa trên tính duy nhất của một hàng?

  3. Gán cùng một giá trị tham số nhiều lần trong thực thi pdo

  4. PHP / MYSQL Thêm nút vào cột

  5. không thể tăng giới hạn tệp mở trong mariadb 10 trên centos7