快捷导航

get请求方式怎么改成post请求方式,网站api接入改了所以get不能再用了

package com.wulianwang.liaotian;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import android.os.AsyncTask;public class HttpData extends AsyncTask{private HttpClient mHttpClient;private HttpGet mHttpGet;private HttpResponse mHttpResponse;private HttpEntity mHttpEntity;private InputStream in;private HttpGetDataListener listener;private String url;public HttpData(String url,HttpGetDataListener listener) {this.url = url;this.listener = listener;}@Overrideprotected String doInBackground(String... params) {try {mHttpClient = new DefaultHttpClient();mHttpGet = new HttpGet(url);mHttpResponse = mHttpClient.execute(mHttpGet);mHttpEntity = mHttpResponse.getEntity();in = mHttpEntity.getContent();BufferedReader br = new BufferedReader(new InputStreamReader(in));String line = null;StringBuffer sb = new StringBuffer();while ((line = br.readLine()) != null) {sb.append(line);}return sb.toString();} catch (Exception e) {}return null;}@Overrideprotected void onPostExecute(String result) {listener.getDataUrl(result);super.onPostExecute(result);}}

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

= =不会http基础请求吗?
post请求的代码内容大致如下:
/**post请求,获取返回字符串内容*/publicstaticHttpResultpost(Stringurl,byte[]bytes){HttpPosthttpPost=newHttpPost(url);ByteArrayEntitybyteArrayEntity=newByteArrayEntity(bytes);httpPost.setEntity(byteArrayEntity);returnexecute(url,httpPost);}/**执行网络访问*/privatestaticHttpResultexecute(Stringurl,HttpRequestBaserequestBase){booleanisHttps=url.startsWith("https://");//判断是否需要采用httpsAbstractHttpClienthttpClient=HttpClientFactory.create(isHttps);HttpContexthttpContext=newSyncBasicHttpContext(newBasicHttpContext());HttpRequestRetryHandlerretryHandler=httpClient.getHttpRequestRetryHandler();//获取重试机制intretryCount=0;booleanretry=true;while(retry){try{HttpResponseresponse=httpClient.execute(requestBase,httpContext);//访问网络if(response!=null){returnnewHttpResult(response,httpClient,requestBase);//需要你自己去封装返回的结果}}catch(Exceptione){IOExceptionioException=newIOException(e.getMessage());retry=retryHandler.retryRequest(ioException,++retryCount,httpContext);//把错误异常交给重试机制,以判断是否需要采取从事LogUtils.e(e);//这个你可以直接改成Log.e()}}returnnull;}【另外】现在多数项目都用第三方框架了,你咋还用这个过时的方法?
回复

使用道具 举报

HttpPost
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP