您的位置:首页 > 理论基础 > 计算机网络

Http API笔记

2015-07-17 23:45 489 查看
目前接触到的网络连接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 将空格转换为 "+" 符号,但不编码特殊字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  http 网络连接