繁体   English   中英

Java创建长字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM