atitit.http get post的原理以及框架实现java php
1. 相关的设置 1
1.1. urlencode 1
1.2. 输出流的编码 1
1.3. 图片,文件的post 1
2. get比较简单只是文字串 1
3. post 字节流(基础) 1
4. post文字(with编码) 2
5. 发送http请求的框架 2
5.1. jdk URLConnection 2
5.2. jdk HttpURLConnection 2
5.3. apache httpclient 2
5.4. http browser 3
6. 参考 3
1. 相关的设置
1.1. urlencode
1.2. 输出流的编码
1.3. 图片,文件的post
2. get比较简单只是文字串
好像没有编码的问题
3. post 字节流(基础)
public static String sendPost(String url, byte[] bytes)
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:[email protected]
转载请注明来源: http://blog.csdn.net/attilax
4. post文字(with编码)
OutputStream outputStream=conn.getOutputStream();
outputStream.write(param.getBytes("UTF-8"));
// flush输出流的缓冲
outputStream.flush();
5. 发送http请求的框架
5.1. jdk URLConnection
Java有原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用,但不够简便
5.2. jdk HttpURLConnection
是java的标准类,HttpURLConnection继承自URLConnection,可用于向指定网站发送GET请求、POST请求。它在URLConnection的基础上提供了如下便捷的方法:
· int getResponseCode():获取服务器的响应代码。
· String getResponseMessage():获取服务器的响应消息。
· String getResponseMethod():获取发送请求的方法。
· void setRequestMethod(String method):设置发送请求的方法
5.3. apache httpclient
在一般情况下,如果只是需要Web站点的某个简单页面提交请求并获取服务器响应,HttpURLConnection完全可以胜任。但在绝大部分情 况下,Web站点的网页可能没这么简单,这些页面并不是通过一个简单的URL就可访问的,可能需要用户登录而且具有相应的权限才可访问该页面。在这种情况 下,就需要涉及Session、Cookie的处理了,如果打算使用HttpURLConnection来处理这些细节,当然也是可能实现的,只是处理起 来难度就大了。
为了更好地处理向Web站点请求,包括处理Session、Cookie等细节问题,Apache开源组织提供了一个HttpClient项目,看它的名称就知道,它是一个简单的HTTP客户端(并不是浏览器)可以用于发送HTTP请求,接收HTTP响应。但不会缓存服务器的响应,不能执行HTML页面中嵌入的Javascript代码;也不会对页面内容进行任何解析、处理
5.4. http browser
6. 参考
Java网络连接之HttpURLConnection与HttpClient 区别及联系 - 花开冬季 - 博客频道 - CSDN.NET.htm
版权声明:本文为博主原创文章,未经博主允许不得转载。