簡體   English   中英

Android HttpUrlConnection傳遞標頭參數

[英]Android HttpUrlConnection passing header params

我搜索了其他主題,並找到了一些答案,但未能成功解決問題。 我有此代碼,我想在HTTP標頭中添加“ Referer”。 使用setRequestProperty方法后,我將結果記錄在Logcat中,但在輸出中看不到Referer。 我究竟做錯了什么?

URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestProperty("Referer", "http://www.example.com");
for(int i=0;con.getHeaderFieldKey(i)!=null;i++){
    String headerName = con.getHeaderFieldKey(i);
    String headerValue = con.getHeaderField(i);
    Log.d("Header", headerName + ": " + headerValue);
}

我也有另一個不起作用的代碼:

URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
String IRNIC = cookies.get("IRNIC");
String ROUTEID = cookies.get("ROUTEID");
String myCookies = "IRNIC="+IRNIC+"; ROUTEID="+ROUTEID;
con.setRequestProperty("Cookie", myCookies);
for(int i=0;con.getHeaderFieldKey(i)!=null;i++){
    String headerName = con.getHeaderFieldKey(i);
    String headerValue = con.getHeaderField(i);
    Log.d("Header", headerName + ": " + headerValue);
}

對於第一個代碼,我在輸出中看不到Referer,對於第二個代碼,我也沒有看到Cookie。 因此,似乎setRequestProperty無法正常工作! 提前致謝。

編輯:我可以在輸出中看到標頭,但看不到通過setRequestProperty方法添加的標頭。 因此,如果代碼工作。

從文檔:

getHeaderFields

返回響應 -header字段和值的不可修改的映射

調用setRequestProperty

設置指定的請求標頭字段的值。

請求與響應不同。 這就是標題不同的原因。 該請求將使用setRequestProperty具有正確的標頭

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM