JAVA模拟post请求

在存在form的场合下,我们可以模拟post请求,从而达到想要的效果。

但是,在某些场合下面,我们不想创建多个的form表单,而又想实现post请求,接下来,总结下解决办法。

post请求:

public String makeHtmlPageGet(String url, String[] parameters) throws Exception {

	StringBuffer sbRtn = new StringBuffer();
	sbRtn.append("<html>");
	sbRtn.append("<head>");
	sbRtn.append("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>");
	sbRtn.append("<title>登录中</title>");
	sbRtn.append("</head>");
	sbRtn.append(
			"<form id=\"postsubmit\" name=\"postsubmit\" action=\"")
			.append(url).append("\" method=\"post\">");

	for(int i=0;i<parameters.length;i++){
		String[] keyAndValue = parameters[i].split("=");
		if(keyAndValue.length == 2){
			sbRtn.append("<input type=\"hidden\" name=\"").append(keyAndValue[0])
			.append("\" value=\"").append(keyAndValue[1])
			.append("\"/>");
		}else{
			sbRtn.append("<input type=\"hidden\" name=\"").append(keyAndValue[0])
			.append("\" value=\"\"/>");
		}
		
	}
	// submit按钮控件请不要含有name属性
	sbRtn.append("</form>");
	sbRtn.append("<script>document.forms['postsubmit'].submit();</script>");
	sbRtn.append("</html>");
	return sbRtn.toString();
}
<pre name="code" class="java">模拟一个页面,将需要post请求的参数进行拼接,通过js的submit提交进行post请求。

 
//生成post请求页面
result = makeHtmlPageGet(url, parameters);

PrintWriter out = response.getWriter();
out.println(new String(result.getBytes("UTF-8"),"ISO-8859-1"));
解决post请求的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenxuechaozhe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值