2014-10-15 3 views
0

Я искал другие темы, и были ответы, но мне не удалось решить мою проблему. У меня есть этот код, и я хочу добавить «Referer» в свои заголовки http. После использования метода setRequestProperty я регистрирую результаты в Logcat, но я не вижу референта в выходе. Что я делаю не так?Android HttpUrlConnection, передающий параметры заголовка

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); 
} 

Для первого кода, я не вижу реферер на выходе, а также для второго кода, я не также см. файлы cookie. Итак, кажется, что setRequestProperty не работает! Спасибо заранее.

EDIT: Я могу видеть заголовки на выходе, но не те, которые я добавил с помощью метода setRequestProperty. поэтому код if работает.

ответ

0

Из документации:

getHeaderFields

Возвращает неизменяемый карту ответ -header полей и значения

setRequestProperty

Устанавливает значение указанного поля .

Запрос не совпадает с ответом. Вот почему ваши заголовки разные. Запрос будет иметь правильные заголовки, используя setRequestProperty

+0

Спасибо ... :) –

Смежные вопросы