二娃HJ 2016-03-31 14:01 采纳率: 0%
浏览 1705

关于HttpURLConection的POST请求乱码

    我在用HttpURLConection发送POST请求时,并未包含中文,但自己测试时收到的请求前面总是包含几个乱码,
    求高手解决!
    代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpUtil {

/**
 * 发送http POST请求
 * @param httpUrl  请求URL
 * @param httpContext 请求报文主体内容
 * @return
 * @throws IOException
 */
    public static String sendPost(String httpUrl,String httpContext) throws IOException{
        URL url = new URL(httpUrl);
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("POST");
        // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false;   
        connection.setDoOutput(true);   
        connection.setRequestProperty("Content-Type","application/json; encoding=utf-8");
        connection.setRequestProperty("Connection", "keep-alive");


        OutputStream out = connection.getOutputStream();
        // 现在通过输出流对象构建对象输出流对象,以实现输出可序列化的对象。   
         ObjectOutputStream objOut = new ObjectOutputStream(out);   
         objOut.writeObject(httpContext);  // 向对象输出流写出数据,这些数据将存到内存缓冲区中
         out.close();
         objOut.close(); // 关闭对象输出流

         InputStream in = connection.getInputStream();
         InputStreamReader inr = new InputStreamReader(in);
         BufferedReader reader = new BufferedReader(inr);
         StringBuffer result = new StringBuffer();
         String temp;
         while((temp = reader.readLine()) != null){
             result.append(temp);
         }
         in.close();
         return result.toString();
    }

}图片说明

  • 写回答

5条回答

  • devmiao 2016-03-31 15:38
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题