2016-03-07 44 views
2

我使用okhttp從我的Android APK發送一些http請求。由於某些服務器端代理的要求,我希望url端點類似於:「https://api.example.com」,但是在http請求中,我想將HOST頭部覆蓋爲「Host:proxy.example.com」。我試圖用這樣的:在okhttp請求中覆蓋HOST頭

HttpUrl url = new HttpUrl.Builder() 
     .scheme("https") 
     .host("api.example.com") 
     .build(); 

    okhttprequest = new com.squareup.okhttp.Request.Builder() 
     .url(url) 
     .method("GET", requestBody) 
     .header("Host", "proxy.example.com") 
     .build(); 

    response = mOkHttpClient.newCall(okhttprequest).execute(); 

然而,當我看着在網絡數據包的HTTP請求,HOST頭還是「api.example.com」。只是想知道,我可以覆蓋HOST頭的任何建議?非常感謝!

回答

0

默認情況下,OkHttp不會讓您設置與URL主機不同的主機頭。您可以使用設置主機標頭的network interceptor來破解它。

+0

感謝您的回覆。我試圖使用網絡攔截器,但它仍然沒有工作...似乎okhttp只是不希望主機頭被改變爲不同於端點url ... – Bob

相關問題