我没有得到Base64加密.
如果可以解密Base64字符串,它的目的是什么?
为什么它被用于HTTP Basic身份验证?
这就像告诉别人我的密码被反转为OLLEH.
看到OLLEH的人会知道原来的密码是HELLO.
我正在创建HttpUrlConnection并需要设置多个自定义标头.
我想按照以下方式做一些事情,但标题映射的内容需要来自单个字符串.在HTTP标头名称和HTTP标头值中是否存在任何非法或极少使用的字符?
HashMap<String, String> headers = new HashMap<String, String>();
// TODO: How can I fill the headers map reliably from a single string?
HttpURLConnection c = (HttpURLConnection) url.openConnection();
for(Map.Entry<String, String> e : headers.entrySet())
c.setRequestProperty(e.getKey(), e.getValue());
Run Code Online (Sandbox Code Playgroud)
解决方案现在
似乎任何HTTP标头名称都不包含任何空格(通常使用破折号?),因此我可以使用单个空格将名称与值分开.至于名称 - 值集,似乎我搞砸了,因为根据给定的答案,值可以包含几乎任何东西.所以我选择了一个我非常肯定最不可能使用的角色:§.如果事实证明它确实需要,我只需要调整我的代码:p
Header1 Value1§Header2 Value2§Header3 Header3
Run Code Online (Sandbox Code Playgroud)