zoukankan      html  css  js  c++  java
  • android网络请求之POST方法

    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();
                }
            }
        };
    }
  • 相关阅读:
    禁止页面全选复制IE,Opera,Mozilla Firefox,Google Chrome,Safari,Flock等主流浏览器测试成功
    Create virtual keyboard using C# Winform Application
    C# 获取Windows语言类型(两种方式)
    Javascript在ASP.NET中的用法:计算还剩余输入多少个字符
    IE和firefox通用的复制到剪贴板的JS函数,Opera测试不成功!
    什么是数据的表分区(文章附上Server 2005分区实施方案)
    JavaScript创建的可编辑表格
    关于ASP.NET页面打印技术的总结
    错误:该行已经属于另一个表
    安装IE7后测试IE6环境的解决办法_IE6Standalone
  • 原文地址:https://www.cnblogs.com/wangxinqiang1995/p/5890499.html
Copyright © 2011-2022 走看看