HttpUrlConnectionPost方式請求

package com.bwie.httpurlconnectionpost;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void btnPost(View view) {
        new Thread() {
            @Override
            public void run() {
                super.run();
                queryCookInfo();
            }
        }.start();
    }

    public void queryCookInfo() {

        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(("key=ff00d7339861c7fd7d5b54b16b76422a&menu="+URLEncoder.encode("祕製紅燒肉","utf-8")).getBytes());
            os.flush();

            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {

                InputStream is = connection.getInputStream();

                ByteArrayOutputStream baos = new ByteArrayOutputStream();

                byte[] buffer = new byte[1024];
                int len = 0;

                while ((len = is.read(buffer)) != -1) {
                    baos.write(buffer, 0, len);
                }
                is.close();
                baos.close();
                String json = baos.toString();

                System.out.println(json);
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
發佈了40 篇原創文章 · 獲贊 11 · 訪問量 8231
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章