2021-01-20

该博客展示了如何使用Java的HttpClient库来模拟AJAX请求,通过两种不同的方式设置请求参数,包括将参数添加到请求体以及构建URL编码的表单实体。示例代码详细解释了设置请求头、执行请求以及处理响应内容的过程。
摘要由CSDN通过智能技术生成

java HttpClient 后端模拟ajax 请求

提示:直接上代码

代码如下(示例):

public static String httpPost(String url,String arg){
		InputStream is;
		BufferedReader br;
		StringBuilder sBuilder = null;
		try {
			HttpClient httpClient = new DefaultHttpClient();
			HttpPost httpPost = new HttpPost("url");
			//方式一:将参数添加到请求体当中
			httpPost.setEntity(new StringEntity(arg,"utf-8"));//默认是采用ISO-8859-1 对于中文需要使用utf-8编码
			httpPost.setHeader("Content-Type","application/x-www-form-urlencoded");
			httpPost.setHeader("X-Requested-With","xmlhttprequest");
			httpPost.setHeader("Access-Control-Allow-Origin","*");
			httpPost.setHeader("Access-Control-Allow-Credentials","true");
			//方式二: 如果需要传递多个参数
			List<NameValuePair> parameters = new ArrayList<>();
			parameters.add(new BasicNameValuePair("key","value"));
			parameters.add(new BasicNameValuePair("key","value"));
			parameters.add(new BasicNameValuePair("key","value"));
			httpPost.setEntity(new UrlEncodedFormEntity(parameters));
			HttpResponse httpResponse = httpClient.execute(httpPost);
			//连接成功
			if(200 == httpResponse.getStatusLine().getStatusCode()) {
				HttpEntity httpEntity = httpResponse.getEntity();
				is = httpEntity.getContent();
				br = new BufferedReader(new InputStreamReader(is));
				String tempStr;
				sBuilder = new StringBuilder();
				while ((tempStr = br.readLine()) != null) {
					sBuilder.append(tempStr);
				}
				br.close();
				is.close();
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return sBuilder==null? "":sBuilder.toString();
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值