怎么在Java中发起一个http请求

  介绍

这期内容当中小编将会给大家带来有关怎么在Java中发起一个http请求,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。


http的GET和POST是两个常用方法。
<强> 指从指定的服务器中获取数据
<强>文章指提交数据给指定的服务器处理

1.得到方法

使用得到的方法,需要传递的参数被附加在URL地址后面一起发送到服务器。
<强>例如:http://121.41.111.94/submit?name=zxy&年龄21=
特点:

<李>

得到请求能够被缓存

<李>

得到请求会保存在浏览器的浏览记录中

<李>

以得到请求的网址能够保存为浏览器书签

<李>

得到请求有长度限制

<李>

得到请求主要用以获取数据

2。发布方法

使用发布方法,需要传递的参数在邮政信息中单独存在,和HTTP请求一起发送到服务器。
<强>例如:
POST/提交HTTP/1.1
主机121.41.111.94
名称=zxy&年龄=21

特点:

<李>

文章请求不能被缓存下来

<李>

文章请求不会保存在浏览器浏览记录中

<李>

以帖子请求的URL无法保存为浏览器书签

<李>

文章请求没有长度限制

实现代码

下面将Java发送GET/POST请求封装成HttpRequest类,可以直接使用.HttpRequest类代码如下:

import  java.io.BufferedReader;   import  java.io.IOException;   import  java.io.InputStreamReader;   import  java.io.PrintWriter;   import  java.net.URL;   import  java.net.URLConnection;   import 并不知道;   import  java.util.Map;      public  class  HttpRequest  {/* *   *,才能向指定网址发送得到方法的请求   ,*   *,才能@param  url   *才能,,,发送请求的URL   *,才能@param 参数   *才能,,,请求参数,请求参数应该是,name1=value1& name2=value2 的形式。   *,才能@return  URL 所代表远程资源的响应结果   ,*/,public  static  String  sendGet (String  url, String 参数),{   String 才能;result =,““   BufferedReader 才能;拷贝=,空;   try {才能   ,,String  urlNameString =, url  +,“?“, +,参数;   ,,URL  realUrl =, new  URL (urlNameString);//,,,打开和URL之间的连接   ,,URLConnection  connection =, realUrl.openConnection ();//,,,设置通用的请求属性   ,,connection.setRequestProperty (“accept",,“*/*“);   ,,connection.setRequestProperty (“connection",,“Keep-Alive");   ,,connection.setRequestProperty (“user-agent",   ,,,,,Mozilla/4.0,(兼容;,MSIE  6.0;, Windows  NT  5.1; SV1)“);   ,,//,建立实际的连接   ,,connection.connect ();//,,,获取所有响应头字段   ,,Map<字符串,List祝辞,map =, connection.getHeaderFields ();   ,,//,遍历所有的响应头字段   ,,for  (String  key : map.keySet ()), {   ,,,System.out.println(时间+ key “——→“, +, map.get(关键));   ,,}   ,,//,定义,BufferedReader输入流来读取URL的响应   ,,=,拷贝new  BufferedReader (new  InputStreamReader (   ,,,,connection.getInputStream ()));   ,,String 线;   ,,while  ((=line  in.readLine ()), !=, null), {   ,,,result  +=,行;   ,,}   ,,},catch  (Exception  e), {   ,,System.out.println(“发送得到请求出现异常!“,+,e);   ,,e.printStackTrace ();   ,,}//,才能使用最后块来关闭输入流   finally {才能   ,,try  {   ,,,if (拷贝!=,null), {   ,,,,in.close ();   ,,,}   ,,},catch  (Exception  e2), {   ,,,e2.printStackTrace ();   ,,}   ,,}   return 才能;结果;   ,}/* *   *,才能向指定,URL 发送帖子方法的请求   ,*   *,才能@param  url   *才能,,,发送请求的,URL   *,才能@param 参数   *才能,,,请求参数,请求参数应该是,name1=value1& name2=value2 的形式。   *,才能@return 所代表远程资源的响应结果   ,*/,public  static  String  sendPost (String  url, String 参数),{   PrintWriter 才能;out =,空;   BufferedReader 才能;拷贝=,空;   String 才能;result =,““   try {才能   ,,URL  realUrl =, new  URL(网址);//,,,打开和URL之间的连接   ,,URLConnection  conn =, realUrl.openConnection ();//,,,设置通用的请求属性   ,,conn.setRequestProperty (“accept",,“*/*“);   ,,conn.setRequestProperty (“connection",,“Keep-Alive");   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Java中发起一个http请求