`
woshizn
  • 浏览: 209737 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java程序向服务器发送post请求

    博客分类:
  • Java
阅读更多

通过一个java程序,用 HttpURLConnection 类向服务器端发送post请求。

 可以利用多线程和这个小程序对服务器做负载压力测试。

 

 代码如下,

// xmlpath是因为,我的系统是同过xml来传递数据,这个要根据自己的具体情况修改
private String doPost(String lastresult, String uri, String xmlPath) {
		try {
			File f = new File(xmlPath);

			BufferedInputStream in = new BufferedInputStream(
					new FileInputStream(f));

			byte[] temp = new byte[1024];
			int size = 0;

			URL url = new URL(uri);

			HttpURLConnection httpurlconnection = null;

			httpurlconnection = (HttpURLConnection) url.openConnection();

			httpurlconnection.setDoOutput(true);
			httpurlconnection.setRequestMethod("POST");
                        //设置参数
 			httpurlconnection.setRequestProperty("Content-type",
					"text/xml;charset=utf-8");
			httpurlconnection.setRequestProperty("Connection", "close");

                        // 判断是否登录,是否有session
			if (lastresult != null) {
				httpurlconnection
						.setRequestProperty(
								"Cookie",
								"sessionid="
										+ lastresult
										+ ";param2=%u76D1%u72F1%6%u5458%u7528%u6237");
			}

			while ((size = in.read(temp)) != -1) {
				httpurlconnection.getOutputStream().write(temp, 0, size);
			}

			httpurlconnection.getOutputStream().flush();
			httpurlconnection.getOutputStream().close();

			InputStream is = httpurlconnection.getInputStream();
			BufferedReader reader = new BufferedReader((new InputStreamReader(
					is, "UTF-8")));
			StringBuilder sb = new StringBuilder();

			String line = null;
			while ((line = reader.readLine()) != null) {
				sb.append(line + "\n");
			}

			String result = sb.toString();
//			这里的sessionid为我服务器取的session值,大家可以根据自己服务器的具体情况来取。
			if (result.contains("sessionid")) {
				result = result.substring(result.indexOf("<sessionid>") + 13,
						result.indexOf("</sessionid>"));
			}

			return result;

		} catch (FileNotFoundException e) {

			e.printStackTrace();
		} catch (IOException e) {

			e.printStackTrace();
		}

		return null;
	}
分享到:
评论

相关推荐

    java中main方法发送httpPost请求

    在Java编程中,HTTP POST请求通常用于向服务器发送数据,比如在登录、注册或提交表单等场景。这里我们将深入探讨如何在Java的main方法中实现这个功能,以及相关的HTTP请求和响应处理。 首先,Java中发送HTTP POST...

    JAVA发送POST请求,如何使用JAVA发送POST请求

    如果您正在寻找一份JAVA客户端发送POST请求的示例代码,那么我们的资源库将为您提供一切所需。本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时...

    java 发送https 请求 证书

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

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    在本文中,我们将详细介绍如何使用JAVA的HttpClient库来发送POST请求,以便与HTTPS服务器进行交互。首先,我们需要继承DefaultHttpClient类,以便自定义HttpClient的行为。然后,我们需要使用X509TrustManager来忽略...

    发送Post请求,内容格式为xml,并获取响应内容

    在给定的代码片段中,主要展示了如何使用Java中的Apache HttpClient库发送一个包含XML数据的POST请求,并接收响应。下面是对关键部分的详细分析: 1. **导入必要的库**:代码首先导入了处理网络请求、输入输出流...

    java支持https的Post请求

    在这个例子中,我们向"https://example.com/api"发送了一个POST请求,携带JSON格式的数据。首先调用`ignoreSSL()`方法,然后建立连接,设置请求方法为POST,并添加请求头。接着写入POST数据,最后读取响应并打印出来...

    java发送http/https请求(get/post)代码

    本文将详细讲解如何使用Java发送GET和POST请求,以及涉及的HTTPS安全连接。 首先,理解HTTP和HTTPS的区别至关重要。HTTP(超文本传输协议)是一种用于分发超媒体信息的应用层协议,而HTTPS(超文本传输安全协议)是...

    https发送post请求

    发送HTTPS POST请求是实现客户端与服务器间安全交互的一种常见方式。 #### 二、HTTPS与POST请求 1. **HTTPS**:一种基于TCP/IP的应用层协议,用于安全传输Web页面。它使用SSL/TLS加密技术,在客户端和服务器之间...

    java后台实现 get post 提交.zip

    POST请求则用于向服务器提交数据,常用于创建或更新资源。与GET不同,POST请求的数据包含在请求体中。在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient或Spring的RestTemplate来实现POST...

    java 作为客户端发送http post请求登录网站首页。

    POST请求是用来向服务器发送数据,通常用于创建或更新资源。在登录场景中,用户输入的用户名和密码会被封装在请求体中,然后发送到服务器进行验证。这个过程通常涉及以下几个步骤: 1. 创建HTTP客户端:Java提供了...

    Java Https工具类,Java Https Post请求

    总结来说,`HttpsUtils.java`是一个用于简化Java程序中HTTPS POST请求的工具类,它隐藏了复杂的SSL/TLS配置和HTTP连接管理,使得开发者可以更加专注于业务逻辑。在实际开发中,此类可以帮助提高代码的可读性和可维护...

    java模拟post请求

    java模拟客户端向服务器发送post请求

    httpclient发送post请求

    通过理解上述步骤和项目结构,你可以有效地构建和发送POST请求,与远程服务器进行交互。对于"post-demo"项目,你可以通过调试客户端应用,检查发送的数据是否正确,以及服务端接口是否正确处理了这些请求,以确保...

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

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

    java发送http/https请求(get/post)Demo,亲测可用

    接下来,我们看POST请求,它用于向服务器提交数据,例如JSON格式。POST请求的参数通常在请求体中。以下是一个使用`HttpURLConnection`发送JSON的示例: ```java import java.io.OutputStream; import java.net....

    后台模拟发送GET和POST请求

    POST请求则用于向服务器提交数据,常用于创建或更新资源,其参数包含在请求体中,对用户相对隐蔽。 HttpClient是Apache基金会提供的一个Java库,它为开发者提供了丰富的API,方便地进行HTTP请求操作。使用...

    java实现响应重定向发送post请求操作示例

    "java实现响应重定向发送post请求操作示例" 本文章主要介绍了java实现响应重定向发送post请求操作的相关知识点,通过实例形式分析了java请求响应、重定向及数据处理相关操作技巧。 一、什么是重定向? 重定向是指...

    JAVA 发送http请求工具类

    本文将详细解析如何使用Java实现HTTP和HTTPS的GET与POST请求,并结合提供的类文件名称(HttpsHandler.java、HttpUtil.java、NetUtil.java)探讨可能的实现方式。 首先,`HttpUtil`类通常用于封装HTTP请求的操作。在...

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

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

    无参数的post请求

    HTTP协议定义了多种请求方法,如GET、POST等,其中POST请求常用于向服务器发送数据。通常情况下,POST请求会携带参数,但有时也会出现不带任何参数的情况,即“无参数的POST请求”。本文将详细介绍如何实现这种类型...

Global site tag (gtag.js) - Google Analytics