如何正确设置Content-Type?

时间:2011-10-30 16:48:20

标签: java http

我想更改内容类型,但它不起作用......对吗? 代码:

  HttpURLConnection conn=(HttpURLConnection)url.openConnection();
  conn.setRequestProperty("Content-Type", "text/plain; charset=utf-8");

  System.out.println(conn.getContentType());

输出不是“text / plain; charset = utf-8”......有什么不对吗? 感谢

2 个答案:

答案 0 :(得分:3)

getContentType()的值返回响应中Content-Type标头的值,而不是请求中设置的值。查看我链接到的Javadoc。你究竟想做什么?

答案 1 :(得分:3)

正如laz正确指出的那样,在传出请求上设置Content-Type并不会控制Content-Type您将重新获得响应。如果您的服务器足够智能,可以通过Accept header动态控制Content-Type请求特定服务器的正确方法。

  

Accept request-header字段可用于指定响应可接受的某些媒体类型。    例子

  Accept: audio/*; q=0.2, audio/basic
     

应该被解释为“我更喜欢音频/基本音频,但如果在质量下降80%之后它是最好的,请发送给我任何音频类型。”