重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么解决java中的http请求乱码?针对这个问题,今天小编总结了这篇文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的新县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
HTTP简介
HTTP又名超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。
HTTP请求乱码解决方案一
接着上面的代码,用我们最常用的方式,一行一行的读,charset 同上面一样。
StringBuffer sb = new StringBuffer(""); in = new BufferedReader(new InputStreamReader(inStream, charset)); String line = ""; while ((line = in.readLine()) != null){ sb.append(line); } result = sb.toString();
HTTP请求乱码解决方案二
这也是最简单的方式,主要是用IOUtils
工具类。
URL realUrl = new URL(url); // 打开和URL之间的连接 conn = (HttpURLConnection) realUrl.openConnection(); // 发送POST请求必须设置如下两行 conn.setRequestMethod(StringUtils.upperCase(type));// 提交模式 conn.setDoInput(true); conn.setDoOutput(true); conn.setUseCaches(false); conn.setRequestProperty("Connection", "close"); conn.setConnectTimeout(3000); //设置连接主机超时(单位:毫秒) conn.setReadTimeout(2000); //设置从主机读取数据超时(单位:毫秒) //省略一些代码 //获取InputStream InputStream inStream = conn.getInputStream(); //通过IOUtils 转化,把流转换为字符串。 //charset为编码格式,可选为"utf-8","gbk","gb2312"等等 String result = IOUtils.toString(inStream,charset);
关于解决java中的http请求乱码的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。