POST请求,GET请求接收到的数据都是乱码
private void sendPostRequest(String account,String pwd){
new Thread(){
@Override
public void run() {
try {
//1初始化URL
URL url = new URL("http://www.imooc.com/api/okhttp/postmethod");
//2实例化HttpURLConnection
HttpURLConnection con = (HttpURLConnection) url.openConnection();
//3设置请求相关的属性
//发送get请求
con.setRequestMethod("POST");
con.setConnectTimeout(6000);
//设置允许输出
con.setDoOutput(true);
//设置请求数据的类型
con.setRequestProperty("Content-Type","application/x-www-from-urlencoded" );
//获取输出流
OutputStream outputStream = con.getOutputStream();
outputStream.write(("account="+account+"&pwd="+pwd).getBytes());
if (con.getResponseCode() == HttpURLConnection.HTTP_OK) {
//获取响应输入流
InputStream in = con.getInputStream();
//对输入获取到的输入流进行读取
byte[] bytes = new byte[1024];
int sign = 0;
//定义输出缓存流
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
while ((sign = in.read()) > -1) {
byteArrayOutputStream.write(bytes,0,sign);
}
String str = new String(byteArrayOutputStream.toByteArray());
Log.d("TAG",str);
}
}catch (Exception e){
e.printStackTrace();
}
}
}.start();
}
问题描述:
出现上述截图情况,POST请求,GET请求接收到的数据都是乱码
12
收起
正在回答 回答被采纳积分+1
1回答
LovelyChubby
2021-09-11 21:21:25
应该不是请求得到的是乱码,而是IDE在输出的时候乱码了,这种情况是IDE不支持中文输出 ,可以通过IDE右下角来调整下IDE的编码格式为UTF-8--->GBK等等试试
2.Android 网络操作与流行框架
- 参与学习 人
- 提交作业 220 份
- 解答问题 1800 个
本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星