`

微信utf-8格式 post方法

 
阅读更多
@RequestMapping(value = "createmenu", method = RequestMethod.GET)
	@ResponseBody
	public static String createmenu() {
		String srcPath = PropertyUtil.getClassPath();
		Map<String, String> properties = PropertyUtil.getAll(srcPath + "/properties", PropertyUtil.WECHAT_FILE);
		String buttons = properties.get("menu");
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		try {
			URL realUrl = new URL(RespContants.WECHAT_CREATE_MENU_URL + RespContants.WECHAT_ACCESS_TOKEN);
			// 打开和URL之间的连接
			URLConnection conn = realUrl.openConnection();
			// 发送POST请求必须设置如下两行
			conn.setDoOutput(true);
			conn.setDoInput(true);
			// 获取URLConnection对象对应的输出流
			String butStr = buttons.toString();
			byte[] requestStringBytes = butStr.getBytes("UTF-8");
			conn.setRequestProperty("Content-length", "" + requestStringBytes.length);
			conn.setRequestProperty("Content-Type", "application/octet-stream");
			conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
			conn.setRequestProperty("Charset", "UTF-8");
			java.io.OutputStream outputStream = conn.getOutputStream();
			outputStream.write(requestStringBytes);
			outputStream.flush();
			outputStream.close();
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
			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;
	}
分享到:
评论

相关推荐

    使用Delphi Xe8 开发微信功能 -- (一)微信支付商户平台之对账单下载

    xmldoc.EncodingString := 'utf-8'; xmldoc.XmlFormat := xfReadable; xmldoc.Root.WriteString('appid', api_id); xmldoc.Root.WriteString('bill_date', bill_date); xmldoc.Root.WriteString('bill_type', '...

    C#、.NET调用微信扫一扫接口完整demo

    var content = new StringContent(requestBody.ToString(), Encoding.UTF8, "application/json"); var response = await httpClient.PostAsync("https://api.weixin.qq.com/wxa/scanqrcode", content); var ...

    微信小程序开发:request请求后台获取不到data解决方法

    微信的request的post请求后台获取不到data(当初这...charset=UTF-8;' }, 2.query的格式传递post请求就可以了,不过这个有点。。你懂的,我用了这种方放对request进行了二次封装,代码如下:   /** ***对微信小程序的r

    java微信小程序支付后台接口编写.rar

    1、根据调用API必须遵循的协议规则,提交方式均采用post,提交和返回数据格式都为XML,根节点名为xml,字符统一采用UTF-8编码,签名算法使用MD5。 2、本次后台代码使用Java语言编写。由于微信支付要求传输方式必须...

    维泰微信机器人软件 v1.0.zip

    如果你的接口是基于utf-8字符集,请在地址中加入参数项charset=utf-8 如: http://www.server.com/path/wx?charset=utf-8 接口秘钥用于防止他人伪造数据,维泰微信机器人在收到微信好友的消息时,会连同这个秘钥...

    java实现上传网络图片到微信临时素材

    byte[] head = sb.toString().getBytes("utf-8"); OutputStream out = new DataOutputStream(con.getOutputStream()); out.write(head); ``` 知识点 5:异常处理 在上传文件时,我们需要处理可能出现的异常,例如...

    树莓派-server酱绑定微信推送消息(python).txt

    - 第一行注释指定了编码格式为UTF-8,确保中文字符正确显示。 - `import requests` 导入了`requests`模块,用于发起HTTP请求。 - `api` 变量存储了Server酱API的URL,其中“你的SKEY值”应替换为自己的SKEY值。 ...

    java实现企业微信消息推送

    httpPost.setEntity(new StringEntity(json.toString(), "UTF-8")); httpPost.setHeader("Content-Type", "application/json"); CloseableHttpResponse response = HttpClients.createDefault().execute...

    微信发放红包demo

    httpPost.setEntity(new UrlEncodedFormEntity(formParams, "UTF-8")); CloseableHttpResponse response = httpClient.execute(httpPost); ``` 4. **处理响应**:接收微信服务器返回的JSON数据,解析并检查返回的...

    微信企业号项目

    byte[] foot = ("\r\n--" + BOUNDARY + "--\r\n").getBytes("utf-8"); out.write(foot); out.flush(); out.close(); //获取响应 StringBuffer buffer = new StringBuffer(); BufferedReader reader = null; ...

    微信语义理解协议文档

    - **7000036**: UTF-8编码转换失败 ##### 2.2 语义输入协议 **字段名称** | **是否必须** | **字段类型** | **字段说明** ---|---|---|--- `access_token` | 是 | String | 根据 `appid` 和 `secret` 获取到的 ...

    C#企业微信发送文本消息,发送图片给指定人员

    我们将讨论C#中的网络请求方法,包括GET和POST,以及如何与企业微信API进行交互。 首先,我们需要了解企业微信的开发者文档,特别是关于消息发送的部分。企业微信提供了详细的SDK和API文档,包括发送文本消息和媒体...

    JavaScript微信定位功能实现方法

    分享下微信是如何定位的: 本文主要讲解如何利用微信定位,如何将定位到的经纬度转换为百度地图对应的经纬度,以及处理定位失败、取消及错误时的默认做法。 //获取地理位置信息start ... charset=utf-8, dat

    APP微信支付Java服务端构建完整步骤

    String responseBody = EntityUtils.toString(response.getEntity(), "UTF-8"); // 解析响应数据并处理 WCPayGetPrePayIdRespInfo resp = parseResponse(responseBody); // 使用resp对象处理后续逻辑 } } ...

    SpringBoot 微信退款功能的示例代码

    httpPost.setEntity(new StringEntity(data, "UTF-8")); CloseableHttpResponse response = httpclient.execute(httpPost); HttpEntity entity = response.getEntity(); String result = EntityUtils.toString...

    微信公众平台接口使用-连接验证(asp.net)

    已经通过验证。 onst string TOKEN = "your ... postStr = Encoding.UTF8.GetString(b); if (!string.IsNullOrEmpty(postStr)) { //读取xml内容 XmlDocument doc = new XmlDocument(); doc.LoadXml(postStr);

    Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例

    #-*- coding:utf-8 -*- from flask import Flask,request from WXBizMsgCrypt import WXBizMsgCrypt import xml.etree.cElementTree as ET import sys app = Flask(__name__) @app.route('/index',methods=['GET','...

    【微信支付】微信被扫支付接口文档V2.5.5

    - 数据编码格式为UTF-8。 - 提交的数据及响应数据均需进行签名验证。 - 特别需要注意的是,撤销和退款接口调用时还需要提供商户证书。 ##### 1.5 签名方式 为了确保交易的安全性,微信支付对接口调用的数据进行了...

    维创支付接口规范_微信、支付宝支付接口v1.1 (2)1

    - **编码方式**:UTF-8是一种广泛使用的字符编码,确保在不同系统间正确地处理各种语言的字符。 - **签名方式**:MD5签名是常用的哈希算法,用于验证数据完整性,防止数据被篡改。合作商需要按照指定规则计算请求...

    python实现给微信公众号发送消息的方法

    本文实例讲述了python实现给微信公众号发送消息的方法。...#coding:utf-8 import urllib2 import json import sys def getMsg(): #为了避免发送中文消息报错,使用utf8方式编码 reload(sys) sys.s

Global site tag (gtag.js) - Google Analytics