当前位置: 首页 > news >正文

昆山做百度网站谷歌seo需要做什么的

昆山做百度网站,谷歌seo需要做什么的,安徽省卫生计生网站医共体建设,佛山做外贸网站流程问题描述 由于项目需要,需要在代码中使用POST请求去调用另一个服务的接口,即不通过前端,A 项目直接在方法中发起HTTP请求调用 B 项目的接口,当请求体中的参数有中文时,参数接收后中文会变为“?”。 具体原因是参数的…

问题描述

由于项目需要,需要在代码中使用POST请求去调用另一个服务的接口,即不通过前端,A 项目直接在方法中发起HTTP请求调用 B 项目的接口,当请求体中的参数有中文时,参数接收后中文会变为“?”。

具体原因是参数的编码格式不对,默认为类型为 Content-Type: text/plain; charset=ISO-8859-1,我们修改为 UTF-8 编码即可。

问题再现

A 服务中发起 HTTP 请求的接口:

@PostMapping("/testA")
public JSONObject testA(@RequestBody User user){// 创建 CloseableHttpClient 对象CloseableHttpClient httpClient = HttpClientBuilder.create().build();// 构造请求体内容try {// 创建 HttpGet 请求HttpPost httpPost = new HttpPost("http://localhost:8081/testB");// 设置请求头,并指定接受的 Content-TypehttpPost.setHeader("Content-Type", "application/json");StringEntity entity = new StringEntity(JSONObject.toJSONString(user));// 设置请求体httpPost.setEntity(entity);// 发送请求并获取响应HttpResponse   response = httpClient.execute(httpPost);// 从响应中获取实体内容,并返回return (JSONObject) JSON.toJSON(EntityUtils.toString(response.getEntity()));} catch (IOException e) {e.printStackTrace();}finally {try {httpClient.close();} catch (IOException e) {e.printStackTrace();}}return null;
}

B 服务中的接口:

@PostMapping("/testB")
public JSONObject testB(@RequestBody User user){System.out.println(user);return (JSONObject) JSON.toJSON(user);
}

问题分析

  1. 当我们使用ApiFox进行调试时,请求的参数值传入中文,可以看到在 A 服务的接口中我们顺利的获得传来的数据,此时中文还没有乱码。

    image-20230826233907947

  2. 当我们使用 httpPost.setHeader("Content-Type", "application/json") 方式设置请求头,指定接收 Content-Type 时,org.apache.http.entity 会默认对其进行 ISO-8859-1 编码,之后 HttpPost 会携带我们的参数向本地的 8081 端口发送 POST 请求。

    image-20230826233943345

  3. B 服务的接口接收参数,可以看到中文变为了“?”。

    image-20230826232036751

解决方法

此时我们已经定位到了中文乱码问题是由于 A 服务对中文参数使用了错误的编码格式,从而导致 B 服务接收到的中文变为了 “?”,那么我们只需要在 A 服务中指定对参数的编码为 UTF-8 编码即可解决问题。同样的,我们可能还需要对 B 服务返回的数据指定 UTF-8 编码。修改代码如下:

  1. 在将请求体内容设置到 HttpEntity 时通过第二个参数 StandardCharsets.UTF_8 将其指定为 UTF-8 编码,再对 HttpPost 对象设置请求体。同理对从响应中获取的数据进行 UTF-8 编码。

    image-20230826233631783

  2. 可以看到 B 服务中可以顺利接收中文参数了。

    image-20230826233658858

http://www.tj-hxxt.cn/news/64209.html

相关文章:

  • 网站建设四个阶段seo关键词推广价格
  • 济南免费做网站360营销平台
  • 找个公司做网站需要注意什么谷歌seo排名工具
  • 网站开发数据库设计武汉seo搜索引擎
  • 网站友情链接怎么做百度做广告费用
  • dz论坛中英文网站怎么做推广平台网站
  • 企业常用系统各系统介绍优化设计三年级上册语文答案
  • 网站建设与管理教学视频下载店铺在百度免费定位
  • 网站开发vue版本是什么张雪峰谈广告学专业
  • ps免抠素材网站大全网站推广的基本方法有
  • 吉工之家找工作建筑工作360优化大师安卓手机版下载安装
  • 做网站全部乱码怎么办seo快速排名上首页
  • 有哪些网站有做网页用的小图片百度问问首页
  • 在线制图网seo外链工具软件
  • 电子商务网站怎么做整站seo教程
  • 我想创业做网站今天刚刚的最新新闻
  • 郑州郑东新区网站建设平台接广告在哪里接的
  • 自己做的网站如何放到微信宁波seo外包推广排名
  • 南山网站制作培训网登录入口
  • 荔湾区做网站公司网站优化培训班
  • 怎么做网站扫码支付卖友情链接赚钱
  • WordPress搭建美国网站活动策划方案
  • 淄博网站建设多优化推广网站淄博
  • 前端后端分别是什么意思seo排名优化培训价格
  • 做公司网站的目的是什么怎么开展网络营销推广
  • 如何用网站做苹果app华为手机软文范文300
  • 网站营销策划公司营销方案怎么写模板
  • 做冷库的网站免费建站平台哪个好
  • wordpress更改绑定域名裤子seo关键词
  • 保定市清苑区网站建设店铺数据分析主要分析什么