`

java应用程序向服务器发送request请求,并接受响应

阅读更多

下面代码是别人写的,经测试很好用

//get形式发生请求

public static String sendGet(String url,String param){
  String result = "";
  BufferedReader in = null;
  try{
   String urlNameString = url+"?"+param;
   URL realUrl = new URL(urlNameString);
   //发送请求
   URLConnection connection  = realUrl.openConnection();
   connection.setRequestProperty("accept","*/*");
   connection.setRequestProperty("connection","Keep-Alive");
   connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

   //这句话只会建立一个连接,并不会把请求发出去
   connection.connect();
   //接受响应
   Map<String,List<String>> map = connection.getHeaderFields();
   for(String key:map.keySet()){
    System.out.println(key+"="+map.get(key));
   }
   in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
   String line = null;
   while((line = in.readLine()) != null){
    result +=line;
   }
  }catch(Exception e){
   System.out.println("发送get请求出现错误!"+e);
   e.printStackTrace();
  }
  finally{
   try {
    if(in != null){
     in.close();
    }
   } catch (Exception e2) {
    // TODO: handle exception
    e2.printStackTrace();
   }
  }
  return result;
 }

//post发送

public static String sendPost(String url,String param){
  PrintWriter out = null;
  BufferedReader in = null;
  String result = "";
  try{
   URL realUrl = new URL(url);
     
   URLConnection conn = realUrl.openConnection();
   conn.setRequestProperty("accept","*/*");
   conn.setRequestProperty("connection","Keep-Alive");
   conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
   //post请求必写
   conn.setDoOutput(true);
   conn.setDoInput(true);
   out = new PrintWriter(conn.getOutputStream());
   out.println(param);
   out.flush();
   //conn.getInputStream()这句话会真正的发出请求
   in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line = null;
   while((line = in.readLine()) != null){
    result +=line;
   }
  }catch(Exception e){
   System.out.println("发送POST请求出错!");
   e.printStackTrace();
  }
  finally{
   try{
    if(out != null)
     out.close();
    if(in != null)
     in.close();
   }catch(IOException ex){
    ex.printStackTrace();
   }
  }
  return result;
 }

 

分享到:
评论

相关推荐

    java实现get请求post请求,文件传输

    java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...

    基于JAVA的WEB应用开发实训教程.doc

    客户端通过浏览器向Web服务器发送请求消息,Web服务器处理请求消息并将响应消息发送回客户端。这个过程是一个无状态的协议,即服务器不保留客户端的状态信息。 消息格式 消息格式是Web应用程序中的一个重要组成...

    request+response学习笔记

    在 Web 开发中,Request 指的是客户端向服务器发送的请求信息,包括 URL、参数、 Header 等信息。Request 可以分为两种类型:GET 请求和 POST 请求。GET 请求用于获取服务器上的资源,而 POST 请求用于将数据提交到...

    Web服务器工作原理[定义].pdf

    在本文中,我们将讨论一个简单的 Web 应用程序,使用 Java 中的 Socket 和 ServerSocket 类来实现基于 Java 的 Web 服务器。 Web 服务器工作原理是基于 HTTP 协议和 Java 中的 Socket 和 ServerSocket 类来实现的。...

    基于Java实现的Web服务器与测试工具开发.zip

    4)支持request、response的跳转请求。 5)可维持一个客户端与服务器间的会话(session)。 (2)客户端模拟器: 1)通过输入端口连接Web服务器,完成交互。 2)支持get方法的页面请求。 3)支持post方法,可以对参数进行...

    request的使用.txt

    在请求消息中发送将使得请求和响应消息都不使用缓存。 max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。 min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。 max-stale...

    基于Android开发的APP服务器端设计.pdf

    * Java编程语言是服务器端设计的主要语言,用于开发服务器端程序。 * Java编程语言的优点包括平台独立性、面向对象、安全性和大型应用程序等。 知识点五:MYSQL数据库在APP服务器端设计中的应用 * MYSQL数据库是...

    日志:用于HTTP请求和响应日志记录的可扩展Java库

    Logbook是一个可扩展的Java库,用于为不同的客户端和服务器端技术启用完整的请求和响应日志记录。 它满足了以下特殊需求:a)允许Web应用程序开发人员记录应用程序接收或发送的所有HTTP通信b)以易于持久化并在以后...

    Java框架面试题总结[定义].pdf

    1. 请求处理:客户端发送请求到Struts应用程序。 2. 请求解析:Struts框架解析客户端的请求,生成ActionRequest对象。 3. Action执行:Struts框架执行Action对象,对请求进行处理。 4. 视图渲染:Struts框架根据...

    java部分试题及答案

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    java面试题web部分

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect...

    ArcIMS地图配置文件,地图服务,请求和响应之间的关系

    第3步:客户端发送请求 地图服务一旦运行在空间服务器上,客户端就能够向地图服务发送请求(图1中的第3步)。请求由ArcIMS HTML客户端浏览器、Java客户端浏览器和ColdFusion 及 ActiveX 连接器产生。 ...

    jsp + severlet +中文api

    其次,servlet 是 Java 中的一种服务器端组件,它可以处理客户端的请求,并将结果返回给客户端。servlet 的主要功能是提供了一个可以扩展的框架,以便开发者可以使用 Java 语言来编写服务器端的程序。servlet 的工作...

    webserver:多线程(例如,基于文件的)Web服务器,具有用Java实现的线程池

    处理程序将从处理程序应用程序收到的响应写入输出流。 处理程序关闭流。 可以在根目录中找到webserver-1.0-SNAPSHOT.jar编译版本。 WebServer侦听连接并将它们委派给工作线程。 Handler -通过解析单个请求并

    java-servlet-api.doc

    一个Javaservlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并作出对请求的响应,如何被从服务中清除。Servlet的生命周期被javax.servlet.Servlet这个接口所定义。 所有的...

    毕业设计:ASP上海软件贸易网站设计与实现(源代码)

    RESPONSE对象:这个对象用来控制从服务器发送给客户端的响应 APPLICATION对象:这个对象用来处理所有应用程序共享的WEB应用程序。WEB应用程序是一个脚本和WEB页面的集合。 SESSION对象:这个对象用来存储一个特定...

    Java软件开发实习报告范文.doc

    Servlet 技术是一种 Java 编程语言中的类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求响应”编程模型来访问的应用程序。 页面设计 JSP 页面 MVC 模式是 JSP 页面设计的主要模式,它可以把表现层 ...

    java 面试题 总结

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...

    JAVAEEWEB高级编程期末考试复习资料.pdf

    Servlet 运行在 Web 服务器上的 Web 容器里,Web 容器负责管理 Servlet,装入并初始化 Servlet,管理 Servlet 的多个实例,并充当请求调度器,将客户端的请求传递到 Servlet,并将 Servlet 的响应返回给客户端。...

    lotus domino AJAX 老的ajax方法

    然后,在 `startRequest()` 函数中,我们使用了 `open()` 方法设置请求的 URL 和类型,并使用 `send()` 方法发送请求。 在 `handlestatechange()` 函数中,我们使用了 `onreadystatechange` 事件来监听服务器端的...

Global site tag (gtag.js) - Google Analytics