atitit.http get post的原理以及框架实现java php 1. 相关的设置 2. get比较简单只是文字串 3. post 字节流(基础) 4. post文字(with编码) 5. 发送http请求的框架 6. 参考
atitit.http get post的原理以及框架实现java php
1.1. urlencode
1.2. 输出流的编码
1.3. 图片,文件的post
2. get比较简单只是文字串
好像没有编码的问题
3. post 字节流(基础)
public static String sendPost(String url, byte[] bytes)
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.****.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 区别及联系 - 花开冬季 - 博客频道 - ****.NET.htm