我有一个问题。当我尝试这样做时
connection.setRequestProperty("Sample", "Sample data \n");
我得到 java.lang.IllegalArgumentException: 为什么我需要这样做。因为我的朋友向我提出了将其添加到服务器的挑战。我很困惑。请帮助我是否可以向 URLConnection 属性添加转义字符。
我有一个问题。当我尝试这样做时
connection.setRequestProperty("Sample", "Sample data \n");
我得到 java.lang.IllegalArgumentException: 为什么我需要这样做。因为我的朋友向我提出了将其添加到服务器的挑战。我很困惑。请帮助我是否可以向 URLConnection 属性添加转义字符。
尝试编码值
connection.setRequestProperty("Sample", URLEncoder.encode("Sample data \n", "UTF-8"));
因为是Java中的错误, 您可以执行以下操作:
String encoded = new sun.misc.BASE64Encoder().encode ("Sample data \n".getBytes());
connection.setRequestProperty("Sample", encoded);
HTTP 标头字段中不能有行尾。当然使用转义机制会有所帮助,但在这种情况下,客户端和服务器需要就转义方案达成一致。