java GET请求与POST请求
2015-09-23 22:07 himanxu 阅读(210) 评论(0) 编辑 收藏 举报http请求格式:
<request line> //http请求行 refence:http://m.blog.csdn.net/blog/legend050709/39672551
<headers> //http请求消息报头
<blank line> //回车换行
[<request-body>] //http请求正文
http响应格式
<status line> //http响应状态行
<headers> //http响应消息报头
<blank line> //回车换行
[<response-body>] //http响应正文
Get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址,用户看不到这个过程。所以POST 方法会比GET方法安全性更高
String url = "http://www.himanTech.com.cn/login";
String param = "name=himan&password=344354";
发送GET请求时,只需将请求参数放在URL字符串的后面,并以?隔开各参数间以&链接,键值对以=连接,程序直接调用URLConnection对象的connect()方法即可
URL url = new URL(url+"?"+param);
URLConnection conn = url.openConnection();
conn.setRequestProperty("","");
conn.connect();
发送POST请求是,需要先设置doIn和doOut两个请求字段的值,再使用URLConnection对应的输出流呀来发送请求参数
Url url = new URL(url);
URLconnection conn = url.openConnection();
conn.setRequestProperty("","');
conn.setDoInput(true);
conn.setDoOutput(true);
try(PrintWriter out = new PrintWriter(conn.getOutputStream()))
{
out.print(param); //发送请求
out.flush();
}
获取响应
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
String line;
while ((line=br.readLine())!=null)
{
response = "\n"+line;
}
//
Map<String, List<String>>map = conn.getHeaderFields();
for (String key:map.keySet())
{
System.out.println(key+"--->"+map.getKey());
}