HttpClient简单使用之POST请求

来源:互联网 发布:淘宝店铺地址在哪里看 编辑:程序博客网 时间:2024/06/06 09:20

MainActivity

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    //获取菜谱详情    public  void btnPostRequest(View v){        new Thread(){            @Override            public void run() {                super.run();                try {                    getMenuInfo();                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }    private void getMenuInfo() throws Exception{        URL url = new URL("http://apis.juhe.cn/cook/query.php");        HttpURLConnection connection = (HttpURLConnection) url.openConnection();        //设置与服务建立的连接时间        connection.setConnectTimeout(5000);        //设置请求方式  POST        connection.setRequestMethod("POST");        //设置读取网络数据的时间        connection.setReadTimeout(5000);        //键值对  key = value        OutputStream os = connection.getOutputStream();        os.write(("menu="+"秘制红烧肉&"+"key=a7a42220c5c1c5268be7ba25af764f6c").getBytes());        PrintWriter writer = new PrintWriter(os);        //把数据刷出去        writer.flush();        //服务器响应        int code = connection.getResponseCode();        if(code == 200){           InputStream is = connection.getInputStream();            //str           String result = StreamTools.readFromNetWork(is);            System.out.println("post请求结果 : "+result);        }    }}

帮助类

/** * 流转化工具类 */public class StreamTools {    /**     * 流转化成字符串     * @param is     * @return     */    public static String readFromNetWork(InputStream is){        try {            ByteArrayOutputStream baos = new ByteArrayOutputStream();            byte[] buffer = new byte[1024];            int len = 0;            while ((len = is.read(buffer)) != -1){                baos.write(buffer,0,len);            }            return baos.toString();        } catch (IOException e) {            e.printStackTrace();        }        return null;    }}
0 0
原创粉丝点击