//在app下build.gradle添加一行支持HttpClient的代码 ------useLibrary 'org.apache.http.legacy'
//运行之前还需要子线程中添加如下代码,因为会报一个证书不匹配的异常,因为新版本将httpclient被public static void getData(Context content, final String path, final JsonStringData callsback){ //判断网络 if(NetWorkUtil.isConn(content)){ //提示网络 Toast.makeText(content,"网络正常",Toast.LENGTH_SHORT).show(); AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { try { //client对象 HttpClient httpclient = new DefaultHttpClient(); //请求方式 HttpGet httpget = new HttpGet(path); //获得相应对象 HttpResponse execute = httpclient.execute(httpget); //获得 int statusCode = execute.getStatusLine().getStatusCode(); //状态码 if (statusCode == 200) { //获得字节输入流 InputStream inputStream = execute.getEntity().getContent(); //获得转换完的字符串 String json = streamToString(inputStream, "utf-8"); if (json != null) { return json; } } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { callsback.getJsonData(s); } }; asyncTask.execute(); } }
apache移除了
SSLSocketFactory.getSocketFactory().setHostnameVerifier(new AllowAllHostnameVerifier());
HttpClient请求网络
最新推荐文章于 2024-08-06 17:13:24 发布