如何在Java中更改默认HTTP选项参数

如何在Java中更改默认HTTP选项参数,java,http,http-headers,Java,Http,Http Headers,我的java代码片段如下所示: ... String type = "text/plain;charset=UTF-8"; URL url = new URL("http://xxx/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("OPTIONS"); conn.setRequestProperty("Con

我的java代码片段如下所示:

...
String type = "text/plain;charset=UTF-8";
URL url = new URL("http://xxx/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setDoOutput(true);
conn.setRequestMethod("OPTIONS");
conn.setRequestProperty("Content-Type", type);
...
当我嗅到它发出的声音时,它会发出一个声音

选项/HTTP/1.1

这似乎是默认设置

然而,我实际上想发送

选项*HTTP/1.0


我该怎么做?

使用“普通”java.net.URLConnection无法做到这一点。考虑用更少的臃肿和更可配置的替代。通过将
HTTP.protocol.version
设置为in,可以强制HTTP 1.0模式。您可以在中找到一个示例。

我同意答案,下面是使用HTTPClient的代码

HttpClient client = new DefaultHttpClient(); 
            client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_0);

希望对某些人有所帮助。

好的-谢谢-Apache客户端支持“*”参数吗?我将如何添加它?它实际上是请求URI。我没有使用过这个特殊的方法,所以请不要指出我的具体情况,但是有一个
OptionsMethod
类使用了
URI
。您可以将
*
传递给它:在HttpClient 4.0上没有OptionsMethod,它相当于HttpOptions类()@Elite绅士:这是另一个(较新的)API:)单击我在评论中提供的链接。不过,这是一个很好的提示,升级到HttpClient 4.0。我知道,在Apache站点上,他们提到我们应该使用HttpClient 4.0或更高版本,因为他们使它比以前的版本更灵活。:-)