普通JAVA类发送post请求,接收请求的相应
1.普通java类
package httpConTest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.HttpURLConnection; import java.net.URL; public class HttpConTest { /** * 向指定 URL 发送POST方法的请求 * * @param url 发送请求的 URL * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection(); // 打开和URL之间的连接 // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); out = new PrintWriter(conn.getOutputStream()); // 获取URLConnection对象对应的输出流 out.print(param); // 发送请求参数 out.flush(); // flush输出流的缓冲 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); // 定义BufferedReader输入流来读取URL的响应 String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!"+e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally{ try{ if(out!=null){ out.close(); } if(in!=null){ in.close(); } } catch(IOException ex){ ex.printStackTrace(); } } return result; } public static void main(String[] args) throws Exception { //发送 POST 请求 String sr=sendPost("http://localhost:8887/test/TestServlet", "name=zhangsan&password=888888"); System.out.println(sr); } }
2.接收请求的servlet
import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TestServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String password = request.getParameter("password"); System.out.println(name); System.out.println(password); response.setHeader("Content-type","text/html;charset=GBK");//向浏览器发送一个响应头,设置浏览器的解码方式为UTF-8 String data = "中国"; //返回给客户端的数据 OutputStream stream = response.getOutputStream(); stream.write(data.getBytes("GBK")); } public TestServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }
相关推荐
创建HTTP连接:使用Java.net包中的HttpURLConnection类来创建HTTP连接,从而可以发送POST请求并接收响应。 设置请求参数:设置请求参数,包括请求方法、请求头、请求体等信息。我们的示例代码中包括了常见的请求头...
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
HTTP发送POST请求的工具类
这个“Java Https工具类,Java Https Post请求”可能是一个自定义的类,用于简化发送HTTPS POST请求的过程。以下是对这个主题的详细讲解: 1. **HTTPS基础**: - HTTPS是在HTTP上添加了SSL/TLS(Secure Sockets ...
使用`HttpURLConnection`发送POST请求 在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import...
在 Java 中发送 GET 和 POST 请求是非常常见的操作,今天我们将通过使用 Apache HttpClient 库来实现这些操作。 什么是 Apache HttpClient 库? Apache HttpClient 库是 Apache 软件基金会提供的一个开源库,用于...
因为我们是发送POST请求,所以需要设置请求方法为POST: ```java connection.setRequestMethod("POST"); ``` 3. **设置请求属性** 通常,POST请求需要设置Content-Type,表明我们要发送的数据类型: ```...
用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient
在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...
本文将详细解析如何使用Java实现HTTP和HTTPS的GET与POST请求,并结合提供的类文件名称(HttpsHandler.java、HttpUtil.java、NetUtil.java)探讨可能的实现方式。 首先,`HttpUtil`类通常用于封装HTTP请求的操作。在...
在IT领域,特别是Web开发与服务交互中,发送POST请求并处理XML格式的数据是一项常见的需求。根据提供的文件信息,我们可以深入解析如何使用Java语言通过Apache HttpClient库来实现这一功能。 ### 发送POST请求并...
接下来,我们可以使用`HttpURLConnection`或第三方库如Apache HttpClient来发送POST请求。以下是一个使用`HttpURLConnection`的例子: ```java import java.io.OutputStream; import java.net.HttpURLConnection; ...
8. **执行请求并获取响应**:调用`execute()`方法发送POST请求并接收响应。 9. **处理响应内容**:通过响应实体获取输入流,从而读取服务器返回的数据。 10. **关闭资源**:确保所有打开的连接和资源都被正确关闭,...
3. **发送HTTPS请求**:现在你可以使用HttpClient发送GET或POST请求了: ```java HttpGet request = new HttpGet("https://your.server.com/path"); HttpResponse response = httpClient.execute(request); int ...
以下是一个使用HttpClient发送POST请求的例子: ```java CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("https://example.com"); List<NameValuePair> params ...
在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient或Spring的RestTemplate来实现POST请求。以下是一个使用`HttpURLConnection`的POST请求示例: ```java import java.io.OutputStream; ...
例如,使用Apache HttpClient发送POST请求的代码如下: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache....
java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。
总结,HTTPClient是Java进行HTTP通信的强大工具,尤其在发送POST请求时,它提供了丰富的功能和灵活性。通过理解上述步骤和项目结构,你可以有效地构建和发送POST请求,与远程服务器进行交互。对于"post-demo"项目,...
java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法