一、发送Http POST请求
public static String sendPost(String apiurl){
String inputline = "";
// 创建url对象
URL url = null;
HttpURLConnection connection = null;
BufferedReader in =null;
try{
url = new URL(apiurl);
// 打开url连接
connection = (HttpURLConnection) url.openConnection();
// 设置url请求方式 ‘get’ 或者 ‘post’
connection.setRequestMethod("POST");
// 发送
in = new BufferedReader(new InputStreamReader(url.openStream()));
// 返回发送结果
inputline = in.readLine();
} catch(IOException e) {
logger.error("", e);
} finally{
try{
if(in != null)
in.close();
if(connection != null)
connection.disconnect();
} catch(final Exception e){
logger.error("", e);
}
return inputline;
}
==============================================================================
/**
* 获取字符串的编码格式
* @param str
* @return
*/
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s = encode;
return s;
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return "";
}
在发送之前获取参数的编码格式是GB2312,但是传递到服务器端获取的确实ISO-8859-1,显示为乱码,找过好多方法解决,都没有解决,最终在网上看到一篇文章帮忙解决了
就是在服务器端接收参数的时候将参数转一下码就OK了
现在和大家一起分享一下
package
com.zuidaima.util;
03 |
import java.io.UnsupportedEncodingException; |
05 |
public class 是否为中文检测 {
|
08 |
* 用getBytes(encoding):返回字符串的一个byte数组 |
11 |
* 1、encoding用UTF8时,每byte是负数; |