android HTTP post时Content-Length不对的问题!

pen2g 2010-12-30 11:49:35
我是想将二进制的信息传给服务器,我用的是ANDROID2.1SDK,我一打开这个语句,就抛出长度异常错误,不设置的时候能发送成功,网络抓包时发现,总会在我的二进制前面加入固定的6个长度的BYTE(ac ed 00 05 77 18,后面几位数可能变化,不知道干嘛用的,HTTP协议里面没说有这个东东啊,哪位知道吗?
conn.setRequestProperty("Content-Length",String.valueOf(tempbytes.length));

reguserpackage regpack=new reguserpackage();
regpack.setStrusername(strusername);
regpack.setStrpassword(strpassword);
byte[] tempbytes=regpack.getpackage();
//URL url = new URL("http://www.51anygo.cn:9080/q.do");
URL url = new URL("http://192.168.0.109:8080/findme/q.do");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setConnectTimeout(10000);
conn.setRequestMethod("POST");
//Integer contentlength=tempbytes.length;
//conn.setRequestProperty("Content-type", "application/octest-stream");
//conn.setRequestProperty("Content-Length",String.valueOf(tempbytes.length));
//String location = conn.getRequestProperty("location");
//conn.connect();
OutputStream outStrm = conn.getOutputStream();
ObjectOutputStream objOutput = new ObjectOutputStream(outStrm);
//objOutput.writeObject(new String("this is a string..."));
objOutput.write(tempbytes);
objOutput.flush();
objOutput.close();
/* 取得Response内容 */
InputStream is = conn.getInputStream();
int ch;
StringBuffer b = new StringBuffer();
while ((ch = is.read()) != -1) {
b.append((char) ch);
}
//conn.connect();
int resCode = conn.getResponseCode();

网络抓包图片
...全文
725 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pen2g 2011-01-01
  • 打赏
  • 举报
回复
解决了,原来是不应该用这个类作为输入流:
ObjectOutputStream
改成这个就好了:
DataOutputStream
从字面意思理解,应该是对象流总会加对象类型信息吧
pen2g 2010-12-31
  • 打赏
  • 举报
回复
String.valueOf(tempbytes.length)肯定没问题,我调试了。
它总是强制加那6个字节,不知道干嘛用的,导致长度增加了!
DrSmart 2010-12-31
  • 打赏
  • 举报
回复
String.valueOf(tempbytes.length) 这句没有问题吧,你打印下,看看
pen2g 2010-12-31
  • 打赏
  • 举报
回复
兄弟,是没说清楚还是看晕了?
reggiekiller 2010-12-31
  • 打赏
  • 举报
回复

80,362

社区成员

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

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