微信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;
	}

猜你喜欢

转载自leiding.iteye.com/blog/2399096
今日推荐