Проблем
HttpURLConnection
няма поддръжка на JavaScript, но необходимата бисквитка се генерира с помощта на JavaScript.
Вашето обаждане
String reqUrl = "http://zxccvvv.cuccfree.com/send_data.php";
URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
не успява, защото бисквитката __test
липсва.
Поправка
От пръв поглед към източника на JavaScript бисквитката изглежда е постоянна за даден URL адрес, така че може да е достатъчно да се зададе за постоянна бисквитка :
String cookie = "__test=2bf7c15501c0ec57f8e41cb84871a69c";
URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(7000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", cookie);
Алтернатива: С помощта на WebView можем да вземем бисквитката, така че това е за предпочитане подход, тъй като няма да се счупи, ако бисквитката се промени и това не е много закъснение:
@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");
}
и го задайте както в горния пример:
conn.setRequestProperty("Cookie", cookie);
Извеждане в 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"}]