W jaki sposób można ustawić niestandardowe nagłówki dla żądania Volley? W tej chwili istnieje sposób na ustawienie treści dla żądania POST. Mam proste żądanie GET, ale muszę wraz z nim przekazać niestandardowe nagłówki. Nie widzę, jak klasa JsonRequest to obsługuje. Czy to w ogóle możliwe?
android
android-volley
bianca
źródło
źródło
Odpowiedzi:
Wygląda na to zastąpić
public Map<String, String> getHeaders()
, zdefiniowane wRequest
, aby przywrócić pożądany nagłówki HTTP.źródło
GsonRequest
przesłania metodę,getHeaders()
aby zwrócić Map z parametrami nagłówka przekazanymi w konstruktorze.Zaakceptowana odpowiedź z getParams () dotyczy ustawienia danych treści POST, ale pytanie w tytule dotyczyło sposobu ustawiania nagłówków HTTP, takich jak User-Agent. Jak powiedział CommonsWare, możesz zastąpić metodę getHeaders (). Oto przykładowy kod, który ustawia User-Agent na „Nintendo Gameboy” i Accept-Language na „fr”:
źródło
Jeśli potrzebujesz, aby opublikować dane zamiast dodawać informacje w adresie URL.
Jeśli chcesz edytować nagłówki w żądaniu, oto co chcesz zrobić:
źródło
getHeaders
odpowiedziach.Możesz zobaczyć to rozwiązanie. Pokazuje, jak uzyskać / ustawić pliki cookie, ale pliki cookie to tylko jeden z nagłówków w żądaniu / odpowiedzi. Musisz nadpisać jedną z klas żądania Volley * i ustawić wymagane nagłówki
getHeaders()
Oto połączone źródło:
}
I klasa MyApp:
źródło
W Kotlinie
Musisz nadpisać metodę getHeaders () na przykład:
źródło
Szukam również rozwiązania tego problemu. zobacz coś tutaj: http://developer.android.com/training/volley/request.html
czy dobrym pomysłem jest bezpośrednie użycie ImageRequest zamiast ImageLoadera? Wygląda na to, że ImageLoader używa go wewnętrznie. Czy pomija coś ważnego poza obsługą pamięci podręcznej ImageLoadera?
źródło
Spróbuj tego
źródło
Możesz stworzyć niestandardową klasę Request, która rozszerza StringRequest i przesłania metodę getHeaders () w ten sposób:
źródło
źródło
Jako dodatek chciałbym podzielić się czymś, co znalazłem w odniesieniu do
Content-Type
: Na górzeMusiałem dodać:
Nie pytaj mnie dlaczego, po prostu pomyślałem, że może to pomóc innym, którzy nie mogą dobrze
Content-Type
ustawić.źródło
Oto ustawienie nagłówków z przykładu github:
źródło
Spróbuj tego
źródło
To jest mój kod, nie zapomnij = obiekt: jeśli nie wstaw, nie działa
źródło