小程序
小游戏
企业微信
微信支付
扫描小程序码分享
调用的是模板消息接口,可是返回是小程序客服消息。
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
加个微信吧
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
多谢哥们!
public static String sendPost(String url,String paramStr) {
// 作为StringBuffer初始化的字符串
String encode = "utf-8";
StringBuffer buffer = new StringBuffer();
try {
if(null != paramStr && !"".equals(paramStr.trim())){
buffer.append(paramStr);
}
HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection();
urlConnection.setConnectTimeout(3000);
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);// 表示从服务器获取数据
urlConnection.setDoOutput(true);// 表示向服务器写数据
// 获得上传信息的字节大小以及长度
byte[] mydata = buffer.toString().getBytes("utf-8");//请求参数设置utf-8编码,防止变成客服消息
// 表示设置请求体的类型是文本类型
urlConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");
urlConnection.setRequestProperty("Content-Length",
String.valueOf(mydata.length));
// 获得输出流,向服务器输出数据
OutputStream outputStream = urlConnection.getOutputStream();
outputStream.write(mydata, 0, mydata.length);
outputStream.close();
// 获得服务器响应的结果和状态码
int responseCode = urlConnection.getResponseCode();
if (responseCode == 200) {
return changeInputStream(urlConnection.getInputStream(), encode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
return "";
问题解决了,把请求参数编码设置成utf-8就可以了。原理应该是,参数没有设置编码,导致中文乱码,就变成客服消息了。
我也遇到了同样的问题,求解决
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
加个微信吧
多谢哥们!
public static String sendPost(String url,String paramStr) {
// 作为StringBuffer初始化的字符串
String encode = "utf-8";
StringBuffer buffer = new StringBuffer();
try {
if(null != paramStr && !"".equals(paramStr.trim())){
buffer.append(paramStr);
}
HttpURLConnection urlConnection = (HttpURLConnection) new URL(url).openConnection();
urlConnection.setConnectTimeout(3000);
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);// 表示从服务器获取数据
urlConnection.setDoOutput(true);// 表示向服务器写数据
// 获得上传信息的字节大小以及长度
byte[] mydata = buffer.toString().getBytes("utf-8");//请求参数设置utf-8编码,防止变成客服消息
// 表示设置请求体的类型是文本类型
urlConnection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");
urlConnection.setRequestProperty("Content-Length",
String.valueOf(mydata.length));
// 获得输出流,向服务器输出数据
OutputStream outputStream = urlConnection.getOutputStream();
outputStream.write(mydata, 0, mydata.length);
outputStream.close();
// 获得服务器响应的结果和状态码
int responseCode = urlConnection.getResponseCode();
if (responseCode == 200) {
return changeInputStream(urlConnection.getInputStream(), encode);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
问题解决了,把请求参数编码设置成utf-8就可以了。原理应该是,参数没有设置编码,导致中文乱码,就变成客服消息了。
我也遇到了同样的问题,求解决