http与https_getconnection「建议收藏」

http与https_getconnection「建议收藏」importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.

http与https_getconnection「建议收藏」
import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import com.hgz.test.httpclientget.utils.StreamTools;

import org.apache.http.HttpResponse;

import org.apache.http.HttpStatus;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.impl.client.DefaultHttpClient;

import java.io.IOException;

import java.io.InputStream;

public class MainActivity extends AppCompatActivity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Button btnHttpClientGet = (Button) findViewById(R.id.btnHttpClientGet);

        btnHttpClientGet.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                getFoodData();

            }

        });

    }

    /**

     * 使用HttpClient这个api请求网络数据

     * 请求方式:GET

     * android 6.0以后,google不再推介使用这种方式,推介HttpURLConnection

     */

    private void getFoodData() {

        new Thread() {

            @Override

            public void run() {

                super.run();

                try {

                    //1.打开浏览器

                    HttpClient httpClient = new DefaultHttpClient();

                    //2.填下地址

                    HttpGet httpGet = new HttpGet(“http://apis.juhe.cn/cook/query.php?menu=秘制红烧肉&key=1fe0aebec3396c977560e16f14613413”);

                    //3.敲回车

                    HttpResponse response = httpClient.execute(httpGet);

                    //4.等待服务器响应,获得响应状态码

                    int code = response.getStatusLine().getStatusCode();

                    //HttpStatus.SC_OK)=200

                    if (code == HttpStatus.SC_OK) {

                        //5.获取服务器响应的内容

                        InputStream is = response.getEntity().getContent();

                        //使用utils工具类

                        String json = StreamTools.getFood(is);

                        System.out.println(json.toString());

                    }

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        }.start();

    }

}

//Utils工具类

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class StreamTools {

    public static String getFood(InputStream is){

        try {

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer=new byte[1004];
            int len=0;
            while((len=is.read(buffer))!=-1){

                baos.write(buffer,0,len);
            }
            is.close();
            baos.close();
            return baos.toString();
        } catch (Exception e) {

            e.printStackTrace();
        }
        return null;
    }
}

今天的文章http与https_getconnection「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/78276.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注