GET和POST之间的主要区别:
Ø1、GET是从服务器上获取数据,POST是向服务器传送数据。
Ø2、在客户端,
GET方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML
HEADER内提交
Ø3、对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数据。
Ø4、GET方式提交的数据最多只能有1024字节,而POST则没有此限制
5、安全性问题。正如在(2)中提到,使用
GET 的时候,参数会显示在地址栏上,而 POST 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 GET ;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 POST为好
一:客户端:(eclipse)
package
com.http.get;
import
java.io.FileOutputStream;
import
java.io.IOException;
import
java.io.InputStream;
import
java.net.HttpURLConnection;
import
java.net.MalformedURLException;
import
java.net.URL;
public class HttpUtils
{
private static String
URL_PATH =
"http://218.72.85.239:8080/day01/dangdang.jpg";
public static void
saveImgToDisk(){
InputStream
inputStream=getInputStream();
byte[]buf=new
byte[1024];
int len=0;
FileOutputStream
fileOutputStream=null;
try {
fileOutputStream=new
FileOutputStream("c:\\test.jpg");
while((len=inputStream.read(buf))!=-1){
fileOutputStream.write(buf,
0, len);
}
} catch (IOException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}finally{
if(inputStream!=null){
try {
inputStream.close();
} catch (IOException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}
}
if(fileOutputStream!=null){
try {
fileOutputStream.close();
} catch (IOException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}
}
}
}
public static InputStream
getInputStream(){
InputStream
inputStream=null;
HttpURLConnection
httpURLConnection=null;
try {
URL url = new
URL(URL_PATH);
if(url!=null){
try {
httpURLConnection=(HttpURLConnection)
url.openConnection();
//设置网络的超时时间
httpURLConnection.setConnectTimeout(3000);
httpURLConnection.setDoInput(true);
//表示此次http请求采用的是get方式
httpURLConnection.setRequestMethod("GET");
int
responseCode=httpURLConnection.getResponseCode();
if(responseCode==200){
//从服务器获取一个输入流
inputStream=httpURLConnection.getInputStream();
}
} catch (IOException e)
{
// TODO Auto-generated catch
block
e.printStackTrace();
}
}
} catch
(MalformedURLException e) {
// TODO Auto-generated catch
block
e.printStackTrace();
}
return
inputStream;
}
public static void
main(String[] args) {
saveImgToDisk();
}
}
二:服务端(myeclipse中存放一张图片)
运行结果:在磁盘上输出一张图片。