用java代码模拟post请求

本文介绍了一种使用Java实现的HTTP客户端发送POST请求的方法。通过构造HttpClient实例,并设置请求头和参数,实现了向指定URL发送POST请求并获取响应的功能。
private String httpClientOfPosts(Map<String, String> parameters) {
		String responseBody = null;
		parameters = sortMap(parameters);
		HttpClient httpClient = new HttpClient();
		String host= "http://192.168.xx.xx:8080/app/tms.do";
		PostMethod postMethod = new PostMethod(host);
		postMethod.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded; charset=utf-8");
		NameValuePair[] data = new NameValuePair[parameters.size()];
		int i = 0;
		StringBuffer sb = new StringBuffer();
		for (Map.Entry<String, String> parameter : parameters.entrySet()) {
			data[i] = new NameValuePair(parameter.getKey(), parameter
					.getValue());
			i++;
			sb.append(parameter.getKey()+"="+parameter.getValue()+"&");
		}
		postMethod.setRequestBody(data);
		postMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
				new DefaultHttpMethodRetryHandler());
		postMethod.getParams().setParameter(
				HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
		try {
			int statusCode = httpClient.executeMethod(postMethod);
			if (statusCode != HttpStatus.SC_OK) {
				responseBody = null;
			}
			responseBody = postMethod.getResponseBodyAsString();
		} catch (HttpException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			postMethod.releaseConnection();
		}
		return responseBody;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值