[英]Java creating long strings
我有一个小问题,自己解决不了。 检查一下这段代码:
private void setCommand(String cmd, String uid) {
String b64cmd = new String(Base64.encode(cmd.getBytes(), Base64.DEFAULT));
try {
StringBuilder bulitString = new StringBuilder("http://adwi.net84.net/zserver.php?r=setcmd&pwd=123&uid=");
bulitString.append(uid);
bulitString.append("&cmd=");
bulitString.append(b64cmd);
URL url = new URL(bulitString.toString());
System.out.println(bulitString.toString());
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.getInputStream();
它只是创建请求并将请求发送到服务器。 如果cmd短暂调用,一切正常。 调试器打印(这是android app btw)
一切正常,例外。 但是,如果我将更长的时间传递给此函数, EOFexception
得到异常java EOFexception
看起来像那样。 我不知道,看起来这个字符串分成两个字符串吗? 我应该怎么做才能解决这个问题? 感谢您的宝贵时间。
我的理论是您的base 64编码正在插入新行。 服务器只接收一行并且感到不安,因为它代表了base64数据的一部分。
因此,要禁用此功能,请使用NO_WRAP而不是DEFAULT。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.