getpost请求案例

public class MainActivity extends AppCompatActivity {
    private ListView lv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //找控件
        lv = (ListView) findViewById(R.id.lv);
        new Thread(){
            @Override
            public void run() {
                getMenuInfoForPost("红烧肉","e3c3dd5597dd875ff29c665a25b74025");
            }
        }.start();
    }
    /**
     * HttpURLConnection请求数据
     * 请求方式 : post
     */
    private void getMenuInfoForPost(String menu,String key){
        try {
            URL url = new URL("http://apis.juhe.cn/cook/query.php");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            //请求方式必须大写
            connection.setRequestMethod("POST");
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            //设置请求参数
            OutputStream os = connection.getOutputStream();
            os.write(("menu="+ URLEncoder.encode(menu,"utf-8")+"key="+key).getBytes());
            os.flush();
            //等待服务器响应
            int code = connection.getResponseCode();
            if(code == 200){
                InputStream is = connection.getInputStream();
                String menuInfo = StreamTools.readFromNetWork(is);
                Gson gson = new Gson();
                MenuInfo info = gson.fromJson(menuInfo, MenuInfo.class);
                System.out.println("结果-->"+info);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
原文地址:https://www.cnblogs.com/leshen/p/7364233.html