Я хочу опубликовать данные String над HttpClient в android, но я устал после получения кода статуса ответа 503 – недоступен сервис и возвращает ответ в виде HTML-кода для нашего URL-адреса.
Я пишу в следующем коде в приложении JAVA и возвращаю данные, но когда я пишу один и тот же код в приложении Android, я получаю файл ввода-вывода исключений, я озадачен для этого случая:
public void goButton(View v) { try{ URL url = new URL("https://xxxxxxxxx"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); Test ts= new ApiRequest("null","getUserbyID",new String[] { "66868706" }); String payLoad = ts.toString(); //toSting is override method that create //JSON Object System.out.println("--->>> " + payLoad); conn.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); System.out.println("=================>>> "+ payLoad); wr.write(payLoad); wr.flush(); BufferedReader rd = new BufferedReader(new nputStreamReader(conn.getInputStream())); String line; while ((line = rd.readLine()) != null) { System.out.println("-->> " + line); response += line; } wr.close(); rd.close(); System.out.println("=================>>> "+ response); } catch (Exception e) { e.printStackTrace(); System.out.println("=================>>> " + e.toString()); throw new RuntimeException(e); }
Я пытаюсь поместить этот код в AsynTask, Thread, но я получаю тот же код статуса ответа. Я пишу в следующем Android-коде как пример данных
public void goButton(View v) { try{ new Thread(new Runnable() { public void run() { HttpClient client = new DefaultHttpClient(); HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); // Timeout Limit HttpResponse response; String url = "https://xxxxxxxxxxxxx"; JSONObject json = new JSONObject(); try { HttpPost post = new HttpPost(url); post.setHeader("Content-type", "application/json"); json.put("service","null"); json.put("method", getUserByID.toString()); json.put("parameters", "1111"); System.out.println(">>>>>>>>>>>" + json.toString()); StringEntity se = new StringEntity(json.toString()); se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(se); String response = client.execute(post); if (response != null) { String temp = EntityUtils.toString(response.getEntity()); System.out.println(">>>>>>>>>>>" + temp); } } catch (Exception e) { e.printStackTrace(); System.out.println(">>>>>>>>>>>" + e.getMessage()); } } }).start(); }
Пожалуйста, помогите мне найти решение этой проблемы 🙁
заранее спасибо