`

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 发送https 请求 证书

    当你需要在Java程序中发送HTTPS请求时,可能会遇到证书相关的问题,特别是当服务器使用自签名证书或者非标准CA签发的证书时。本文将详细讲解如何在Java中处理这类问题,以及如何使用httpUtils工具进行HTTPS请求。 ...

    Java编程:发送HTTP请求,返回响应内容

    在Java编程中,发送HTTP请求并处理响应是网络编程中的基本操作。这通常涉及到与Web服务器的交互,例如获取网页内容、提交表单数据或执行API调用。在这个场景中,我们将探讨如何使用Java实现这一功能,以及如何处理...

    java中main方法发送httpPost请求

    发送请求并读取响应状态码: ```java connection.connect(); int responseCode = connection.getResponseCode(); ``` 6. **处理响应** 读取服务器返回的数据,可能是JSON、XML或其他格式: ```java try...

    Android向Java后台发送请求并返回Json数据

    总结,Android向Java后台发送请求并返回Json数据涉及的关键步骤包括选择网络请求库、设置请求参数、发送请求、处理响应以及解析Json数据。通过以上步骤,开发者可以实现Android客户端与后台服务的高效通信。在实际...

    java web 修改request携带的参数信息

    Request对象封装了客户端发送到服务器的所有数据,包括URL参数、请求头、请求体等。在某些场景下,可能需要对这些参数信息进行修改,比如安全过滤、数据校验或者日志记录等。本程序就是针对这种情况设计的一个实用...

    服务器如何处理客户端请求

    综上所述,Java Web应用中的Servlet组件提供了一种高效的方式来处理客户端请求,并允许开发者专注于业务逻辑的实现,而将底层的请求处理和响应发送的细节抽象化。在实现过程中,开发者需要注意线程安全和请求响应...

    java发送http请求并获取状态码的简单实例

    在Java编程中,发送HTTP请求并获取状态码是常见的网络通信任务。HTTP状态码是服务器对客户端请求的响应,它提供了关于请求是否成功、需要进一步操作还是存在错误等信息。以下是一个简单的Java实例,展示了如何实现这...

    Jmeter Java Request Demo

    在JMeter中使用Java Request进行TCP测试,你需要编写Java代码来建立TCP连接,发送数据,并处理服务器返回的数据。这通常涉及到Socket编程,包括Socket的创建、数据的编码与解码等步骤。 HTTP请求则是我们最常见的...

    java使用url发送post和get请求:HttpConnUtils.jar

    - POST请求用于向服务器发送数据,通常用于表单提交、文件上传等场景。数据包含在请求体中。 - `HttpConnUtils.jar`的`sendPostRequest()`方法可能接收URL、请求参数和可能的请求头。它使用`setDoOutput(true)`...

    Java企业级应用程序开发指南

    Servlet是运行在服务器端的Java程序,用于处理HTTP请求并生成响应。它扩展了Web服务器的功能,可以动态生成网页内容,处理表单数据,实现会话管理等。读者将学习如何创建、配置和部署Servlet,以及Servlet生命周期和...

    java后台请求http并保持Session

    POST方法用于向服务器发送数据,如表单提交,参数在请求体中,不显示在URL上,且数据量无限制。 1. **GET请求**: - 使用`java.net.URL`和`java.net.HttpURLConnection`类创建GET请求。首先,构造URL对象,然后...

    Java-web客户端和服务器端交互的原理.doc

    整个过程就是当一个客户端向服务器端发送一个请求(request),然后Web服务器返回一个响应(response),之后连接就关闭了,在服务器端此时是没有保存连接的信息。 在Java中,客户端和服务器端交互的实现是通过套接...

    使用java请求json接口数据

    在Java编程中,请求JSON接口数据是常见的网络通信任务,主要应用于Web服务的客户端与服务器之间的数据交互。这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 ...

    java socket 发送http请求webservice.

    Java Socket 发送HTTP请求Web Service是一项基础且重要的网络编程技能,尤其在开发分布式系统或集成不同服务时。本文将深入探讨如何使用Java的Socket API来实现这个功能,并结合标签“源码”和“工具”,提供实用的...

    DHCPRequest (Dhcp发送请求)

    在这个描述中提到的"DHCPRequest (Dhcp发送请求)"是一个源代码示例,可能是用某种编程语言(如Python、C++或Java)编写的,用于模拟DHCP客户端发送请求和解析服务器响应的功能。这个"demo"可以作为学习DHCP协议和...

    安卓客户端发送POST请求到服务器demo源代码

    本示例提供了一个安卓客户端发送POST请求到服务器的源代码,经测试能够正常工作,确保了数据的双向传输:客户端发送请求,服务器接收并处理,再将响应数据回传给客户端。 首先,我们来看POST请求的基本概念。POST...

    okhttp请求简单封装和cookie管理

    在IT行业中,网络请求是应用程序与服务器交互的基础。OkHttp是一个高效的HTTP客户端库,由Square公司开发,广泛应用于Android和Java项目中。本教程将深入探讨如何在Eclipse平台上使用OkHttp进行简单的请求封装和...

    09_Java Web——Request&Response案例

    在"09_Java Web——Request&Response案例"这个主题中,我们聚焦于HTTP请求和响应这两个核心概念,它们是Web应用中客户端与服务器交互的基础。下面将详细阐述相关知识点。 1. **HTTP协议**:超文本传输协议(HTTP)...

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

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

    JAVA发送HttpClient请求及接收请求完整代码实例

    它允许开发者模拟浏览器行为,向服务器发送GET、POST或者其他HTTP方法的请求,并接收服务器的响应。在本实例中,我们将深入探讨如何使用HttpClient来发送请求以及处理返回的数据。 首先,让我们了解HttpClient的...

Global site tag (gtag.js) - Google Analytics