2010-02-03 1 views
4
에 기본 HTTP OPTIONS 매개 변수를 변경

처럼 내 자바 코드 조각이 보인다 :이 보내는 도청 할 때어떻게 자바

... 
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

어떻게 이런 짓을 했을까?

답변

3

"보통"java.net.URLConnection으로는이를 수행 할 수 없습니다. 덜 부풀어지고 더 구성 가능한 Apache Commons HttpClient으로 대체하는 것을 고려하십시오. http.protocol.versionHttpClient#getParams()HttpVersion.HTTP_1_0으로 설정하여 HTTP 1.0 모드를 강제 실행할 수 있습니다. 예를 들어 this document에서 찾을 수 있습니다. 하고자하지 아파치 클라이언트 지원은 "*"매개 변수 방법 - 감사합니다 -

+0

OK입니다 나는 그것을 추가합니까? – nzpcmad

+1

사실 그것은 요청 URI입니다. 나는이 특별한 방법을 사용하지 않았기 때문에 그것에 대해 정확히 알려주지는 마라.하지만'OptionsMethod' 클래스는'URI'를 사용한다. 그것에'*'을 넘겨 줄 수 있습니다 : http://hc.apache.org/httpclient-3.x/apidocs/org/apache/commons/httpclient/methods/OptionsMethod.html#OptionsMethod%28java.lang.String%29 – BalusC

+0

HttpClient 4.0에는 OptionsMethod가 없습니다. HttpOptions 클래스 (http://hc.apache.org/httpcomponents-client/httpclient/apidocs/org/apache/http/client/methods/HttpOptions.html) –

2

나는 다음과 같은 대답에 동의는 사용하여 코드 HttpClient를

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

이 어떤 일을하는 데 도움이 희망 ..