zoukankan      html  css  js  c++  java
  • android http请求

    package jftt.test;
    
    import java.io.IOException;
    import java.util.List;
    
    import org.apache.http.HttpResponse;
    import org.apache.http.HttpStatus;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.params.BasicHttpParams;
    import org.apache.http.params.HttpConnectionParams;
    import org.apache.http.params.HttpParams;
    
    import android.util.Log;
    
    public class HttpRequest {
        /**
         *Post请求
         */
        public void doPost(String url , List<NameValuePair> nameValuePairs){
            //新建HttpClient对象  
            HttpClient httpclient = new DefaultHttpClient();
            //创建POST连接
            HttpPost httppost = new HttpPost(url);
            try {
    //            //使用PSOT方式,必须用NameValuePair数组传递参数
    //            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    //            nameValuePairs.add(new BasicNameValuePair("id", "12345"));
    //            nameValuePairs.add(new BasicNameValuePair("stringdata","hps is Cool!"));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        
        /**
         *Get请求
         */
        public void doGet(String url){
            HttpParams httpParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParams,30000);  
            HttpConnectionParams.setSoTimeout(httpParams, 30000);  
                
            HttpClient httpClient = new DefaultHttpClient(httpParams);  
            // GET
            HttpGet httpGet = new HttpGet(url);
            try {
                HttpResponse response = httpClient.execute(httpGet);
                if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK){
                    Log.i("GET", "Bad Request!");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    }

    需要主要的是:

    1.    使用POST方式时,传递参数必须使用NameValuePair数组

    2.    使用GET方式时,通过URL传递参数,注意写法

    3.      通过setEntity方法来发送HTTP请求

    4.      通过DefaultHttpClient 的 execute方法来获取HttpResponse

    5. 通过getEntity()从Response中获取内容

    String content = EntityUtils.toString(response.getEntity()); 

    JSON:

        /** 
         *Post请求 
         * @throws IOException 
         * @throws ClientProtocolException 
         */  
        public static String doPost(String url , List<NameValuePair> nameValuePairs) throws ClientProtocolException, IOException{ 
            String result = null;
            //新建HttpClient对象    
            HttpClient httpclient = new DefaultHttpClient();  
            //创建POST连接  
            HttpPost httppost = new HttpPost(url);  
            httppost.setHeader("content-type", "application/json");
            try {
                if(nameValuePairs != null) {
                    StringEntity entity = new StringEntity("这里是JSON数据,如{"id":"12","name":"xiaoming"}", "utf-8");
                    entity.setContentType("application/json");
                    entity.setContentEncoding("utf-8");
                    httppost.setEntity(entity);
                }
                  
    //            if(nameValuePairs != null) {
    //                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));  
    //            }
                HttpResponse response = httpclient.execute(httppost);  
                if (response.getStatusLine().getStatusCode() != 404)
                {
                        result = EntityUtils.toString(response.getEntity());
                        Logger.d(TAG, "Response: " + result);
                }
            } finally {
                
            }
            return result;
        }

    特别说明:抄的“右撇子”的。怕他最后删掉了找不着,所以复制过来了。原文链接:

    http://blog.csdn.net/feng88724/article/details/6170021

  • 相关阅读:
    struts1与struts2的差别
    UVA 1563
    项目开发相关规范
    互联网产品的測试
    虚拟机器人
    Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataPro
    HDU 1429--胜利大逃亡(续)【BFS &amp;&amp; 状态压缩】
    自己写的php curl库实现整站克隆
    设置字符串中某些字符的特殊效果
    Objective-C学习笔记(二十二)——初始化方法init的重写与自己定义
  • 原文地址:https://www.cnblogs.com/miya2012/p/2630258.html
Copyright © 2011-2022 走看看