目前接触到的网络连接API有:

    一、HttpURLConnection

            四要素:1、URL 2、HttpURLConnection 3、outputStream 4、inputStream

                    uri.openConnection(); //获得HttpURLConnection.

                    hc.setDoInput(true);  //允许输入

                    hc.setDoOutput(true); //允许输出

                    hc.setRequestMethod("POST");//设置为post

                    hc.setUseCaches(false); // post不使用缓存

            hc.setConnectTimeout(3000); //设置连接超时

                    hc.setReadTimeout(3000);     //设置读取超时

                    hc.setRequestProperty("Content-Type","application/x-www-form-urlencoded");

                    hc.setRequestProperty("Charset","UTF-8");

                    os = hc.getOutputStream(); //获得输出流

                    os.write(vals);

                    os.flush();

                    if (hc.getResponseCode() == HttpURLConnection.HTTP_OK)

    is = hc.getInputStream();  //获得输入流

            通过URL得到HttpURLConnection。

            通过HttpURLConnection得到outputStream和inputStream。

     二、HttpClient

            四要素:1 、HttpParams 2、HttpClient 3、HttpPost/HttpGet  4、HttpEntity 5、HttpResponse 

                BasicHttpParams httpParams = new BasicHttpParams();

HttpConnectionParams.setConnectionTimeout(httpParams,

3000);

HttpConnectionParams.setSoTimeout(httpParams,3000);

                HttpClient client = new DefaultHttpClient(httpParams);

HttpPost post = new HttpPost("http://");

                post.setHeader();

                post.setEntity();

HttpResponse response = client.execute(post);

                if (httpResponse.getStatusLine().getStatusCode() == 200)

                    response.getEntity();

       注意: HttpEntity 要使用恰当的类

        常用 new ByteArrayEntity(content.getBytes("UTF-8"))

            UrlEncodedFormEntity //键值对列表



注意:Content-Type

Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;

Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;

Application:用于传输应用程序数据或者二进制数据;

Message:用于包装一个E-mail消息;

Image:用于传输静态图片数据;

Audio:用于传输音频或者音声数据;

Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。


HTML 5 <form> enctype 属性

enctype 属性规定在将表单数据发送到服务器之前如何对其进行编码。

application/x-www-form-urlencoded 在发送前对所有字符进行编码(默认)。

multipart/form-data 不对字符编码。当使用有文件上传控件的表单时,该值是必需的。

text/plain 将空格转换为 "+" 符号,但不编码特殊字符。