相关疑难解决方法(0)

179
推荐指数
5
解决办法
8万
查看次数

在Http POST标头中发送非ASCII文本

我将文件作为八位字节流发送到服务器,我需要在标头中指定文件名:

String filename = "«úü¡»¿.doc"
URL url = new URL("http://www.myurl.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.addRequestProperty("Accept", "application/json; charset=UTF-8");
conn.addRequestProperty("Content-Type", "application/octet-stream; charset=UTF-8");
conn.addRequestProperty("Filename", filename);
// do more stuff here
Run Code Online (Sandbox Code Playgroud)

问题是,我需要发送的一些文件的文件名包含非ASCII字符.我已经读过你不能在HTTP头中发送非ASCII文本.

我的问题是:

  1. 你能在HTTP头中发送非ASCII文本吗?
  2. 如果可以的话,你怎么做?当filename包含非ASCII文本时,上面的代码不起作用.服务器以"错误请求400"响应.
  3. 如果你不能,解决这个限制的典型方法是什么?

java

8
推荐指数
2
解决办法
7650
查看次数

标签 统计

.net ×1

java ×1

urlencode ×1