2017-01-12 8 views
0

非常に特定の要求に対してHostヘッダーを設定する必要がありますが、これは考慮されていません。HttpUrlConnect set Host header

私はこれが制限されたヘッダーだと知っていますが、どうすれば可能ですか?

ここで私は何をしようとしています。

HttpURLConnection urlConnection = null; 

    try { 
     urlConnection = (HttpURLConnection) url.openConnection(); 
     urlConnection.setConnectTimeout(10000); 
     urlConnection.setRequestProperty("Host", "test.com"); 
     urlConnection.setRequestMethod("GET"); 

     int responseCode = urlConnection.getResponseCode(); 
     Log.d(TAG, String.format("response code: %d", responseCode)); 
    } catch (IOException e) { 

    } finally { 
     if (urlConnection != null) { 
      urlConnection.disconnect(); 
     } 
    } 
+1

の可能性のある重複(http://stackoverflow.com/questions/7648872/can-i-override-the-host -header-where-using-javas-httpurlconnection-class) –

+0

確かに。私は 'System.setProperty(" sun.net.http.allowRestrictedHeaders "、" true ")'を 'Application.onCreate()'にセットしています。 – HelderMPinhal

答えて

0

私はおそらく、あなたの代わりにあなたのtry文の下にホストヘッダーを設定しようとするこのような何かを行うことができますあなたの質問を誤解していないよ場合:

URLのURL =新しいURL(「http://www.test.com/」);

ホストヘッダーは、指定したURLから情報を取得します。

出典:[?JavaのHttpURLConnectionのクラスを使用している私はHostヘッダを上書きすることができます] https://developer.android.com/reference/java/net/HttpURLConnection.html