HttpURLConnection乱码问题,求解决?

动量 2016-07-08 02:00:14
下面是我的服务端:
@WebServlet("/user")
public class UserServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
Enumeration<String> e=req.getHeaderNames();
while(e.hasMoreElements()){
String key=e.nextElement();
System.out.println(key+"="+req.getHeader(key));
}
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
String name=req.getParameter("name");
if("kaiqi".equals(name)){
System.out.println("通过验证");
out.println("<html><head><title></title></head><body>successed<body></html>");
}else{
System.out.println("验证未通过");
out.println("<html><head><title></title></head><body>failed<body></html>");
}

}


}

下面是我的android客户端,只有一个按钮控件:
public class MainActivity extends AppCompatActivity {
private Button loginBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
loginBtn=(Button)findViewById(R.id.loginBtn);

loginBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(){
@Override
public void run() {
String urlStr="http://192.168.1.101:8080/AndroidNetTest/user?name=kaiqi";
//String urlStr="http://www.baidu.com";
try {
URL url=new URL(urlStr);
HttpURLConnection con= (HttpURLConnection) url.openConnection();
InputStream in=con.getInputStream();
byte[] buf=new byte[1024];
in.read(buf);
Log.i("wjq",new String(buf,"utf-8"));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
}.start();
}
});

}
}

发送get请求响应的是乱码,使用百度地址返回的响应能正确接收,是不是我的配置有问题???
...全文
370 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
动量 2019-09-02
  • 打赏
  • 举报
回复
引用 8 楼 迷路的小孩 的回复:
啥原因了,大佬?
太久了,忘了
Biturd 2019-09-02
  • 打赏
  • 举报
回复
行吧,。。。。
Biturd 2019-09-01
  • 打赏
  • 举报
回复
啥原因了,大佬?
weixin_35343693 2016-07-10
  • 打赏
  • 举报
回复
引用 5 楼 巅峰状态的回复:
谢谢大家的帮助,终于找到解决的办法了
哈哈,跟踪一下,是什么原因了?
动量 2016-07-09
  • 打赏
  • 举报
回复
谢谢大家的帮助,终于找到解决的办法了
睡精灵 2016-07-08
  • 打赏
  • 举报
回复
问问你服务端的编码是什么,要和服务端使用的编码一样
magicyang1234 2016-07-08
  • 打赏
  • 举报
回复
不懂后端,最好抓完包再来问。
动量 2016-07-08
  • 打赏
  • 举报
回复
引用 1 楼 weixin_35343693 的回复:
输出的时候再转一下utf-8的,sting.getbytes("utf-8")
没有用还是乱码
weixin_35343693 2016-07-08
  • 打赏
  • 举报
回复
输出的时候再转一下utf-8的,sting.getbytes("utf-8")

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧