package com.jredu.helloworld.activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.webkit.WebView; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.jredu.helloworld.R; 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.nio.charset.Charset; public class HttpUrlConnectionPostActivity extends AppCompatActivity { WebView webView; Button button; TextView success; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_http_url_connection_post); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { @Override public void run() { HttpUrlConnectionPost(); } }).start(); } }); } public void HttpUrlConnectionPost(){ HttpURLConnection urlConnection = null; try { URL url = new URL("http//:www.baidu.com"); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setConnectTimeout(5*1000); urlConnection.setReadTimeout(5*1000); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setUseCaches(false); urlConnection.setRequestMethod("POST"); urlConnection.setRequestProperty("Connection","Keep-Alive"); urlConnection.setRequestProperty("Charset","utf-8"); urlConnection.setRequestProperty("Content-type","application/x-www-form-urlencode"); String a = "page = 1&num = 10"; OutputStream os = urlConnection.getOutputStream(); os.write(a.getBytes()); os.flush(); os.close(); if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK){ InputStream is = urlConnection.getInputStream(); StringBuilder sb = new StringBuilder(); byte[] bytes = new byte[1024]; int i = 0; while ((i = is.read(bytes)) != -1){ sb.append(new String(bytes,0,i,"utf-8")); } is.close(); Message message = handler.obtainMessage(1,sb.toString()); handler.sendMessage(message); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if (urlConnection != null){ urlConnection.disconnect(); } } } private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg != null && msg.what == 1){ String s = (String) msg.obj; String data = new String(s.getBytes(), Charset.forName("utf-8")); webView.getSettings().setDefaultTextEncodingName("utf-8"); webView.getSettings().setJavaScriptEnabled(true); webView.loadDataWithBaseURL(null,data,"text/html","utf-8",null); Toast.makeText(getApplication(),"post请求成功!",Toast.LENGTH_SHORT).show(); } } }; }