首页 » SEO优化 » phpapache中文乱码技巧_坑apache的httpclient中文乱码解决

phpapache中文乱码技巧_坑apache的httpclient中文乱码解决

访客 2024-11-08 0

扫一扫用手机浏览

文章目录 [+]

一次次检讨自己的代码,确实没有什么问题。
眼看着交工的dead line要到了,没办法。
赶紧把以前的一份用java原生的HttpUrlConnection发送POST要求的代码拿来改了改,测试成功。

但是心里以为太奇怪,没道理httpclient不好使啊。

phpapache中文乱码技巧_坑apache的httpclient中文乱码解决

我倒要看看他们发出的包到底有什么不一样。

phpapache中文乱码技巧_坑apache的httpclient中文乱码解决
(图片来自网络侵删)
利用Fiddler抓包

抓包工具我这边利用的是fiddler。
关于fiddler的基本操作这里就不讲了。

利用postman的要求包:

对代码进行抓包。
这里有点操作须要讲讲了。

首先看下你的抓包工具监听的端口是啥,默认是8888.

然后须要对代码进行一些改造。
fiddler可以方便的抓取浏览器,操作系统的http要求,但是我们在代码里发出的http,fiddler是抓不到的。
须要在代码里设置代理。

java HttpUrlConnection的要求包:

设置代理的代码:

Proxyproxy=newProxy(java.net.Proxy.Type.HTTP, newInetSocketAddress("127.0.0.1",8888));URLrealUrl=newURL(url);HttpURLConnectionurlConnection=(HttpURLConnection)realUrl.openConnection(proxy);

利用apache commons 的HttpClient

设置代理的代码:

//设置代理IP、端口、协议(请分别更换)HttpHost proxy = new HttpHost("127.0.0.1", 8888, "http");//把代理设置到要求配置RequestConfig defaultRequestConfig = RequestConfig.custom() .setProxy(proxy) .build();CloseableHttpClient client = HttpClients.custom().setDefaultRequestConfig(defaultRequestConfig).build();

通过抓包,创造了问题的根源原来是中文乱码。
又是编码问题。

问题办理:

通过自定义一个contentType

ContentTypecontentType=ContentType.create("text/plain",Charset.forName("UTF-8"));

然后在addTextBody时,指明利用自定义的这个contentType

builder.addTextBody(entry.getKey(), entry.getValue(), ContentType.TEXT_PLAIN);

测试,好了

text/plain和一个ContentType.TEXT_PLAIN很像啊,

改成ContentType.TEXT_PLAIN试试,创造也弗成。
我们来比拟下:

ContentType.create("text/plain", Charset.forName("UTF-8"));

ContentType TEXT_PLAIN = create("text/plain", Consts.ISO_8859_1);

末了创造是编码格式的问题。

一句话,记住:通过httpClient发送form表单中有中文的,要设置编码格式为ContentType.create("text/plain", Charset.forName("UTF-8"));

详细源码可查阅公众号:技能条记与开源分享

相关文章

双素数的世界,探寻数学之美与奥秘

自古以来,数学便是一门充满神秘色彩的学科。在我国,数学家们对数学的研究从未停止,其中双素数就是他们研究的一个焦点。本文将带您走进双...

SEO优化 2024-12-27 阅读0 评论0

日本IT专业发展现状与未来展望

近年来,随着信息技术的飞速发展,IT专业人才需求日益旺盛。日本作为全球科技大国,其IT产业的发展尤为引人注目。本文将从日本IT专业...

SEO优化 2024-12-27 阅读0 评论0

历史长河中的经典语言,传承与创新的力量

语言是文化的载体,是历史的见证。在漫长的历史长河中,无数经典语言如同璀璨的星辰,照亮了人类文明的进程。这些语言不仅承载着丰富的文化...

SEO优化 2024-12-27 阅读0 评论0

日本IT行业,中美竞争下的崛起与挑战

近年来,随着全球科技产业的快速发展,我国与日本在IT领域的竞争愈发激烈。特别是在中美贸易战背景下,日本IT产业面临着前所未有的机遇...

SEO优化 2024-12-27 阅读0 评论0