Czy mogę zmienić nagłówek User-Agent tylko na jedną stronę internetową?


19

Muszę korzystać z konkretnej witryny do pracy, ale ta strona sprawdza, czy korzystam z przeglądarki Internet Explorer, a jeśli nie, nie zezwala mi się zalogować. Mogę przełączyć nagłówek User-Agent za pomocą User Wtyczka agenta Switcher Firefox i strona internetowa działają dobrze, ale tak naprawdę nie chcę zmieniać nagłówka za każdym razem, gdy wchodzę na stronę, a także nie chcę, aby mój nagłówek User-Agent stale powtarzał, że używam IE.

Jestem na Linuksie, więc przejście na IE niestety nie wchodzi w grę.

Czy istnieje sposób zdefiniowania konkretnego klienta użytkownika dla konkretnej strony internetowej w przeglądarce Firefox lub Chrome?

Odpowiedzi:


15

Rozszerzenie User-Agent Switcher dla Chrome ma listę Trwałe fałszowanie , na której można ustawić określone programy klienckie dla określonych domen.

Konfiguracja

  1. Dodaj rozszerzenie do Chrome.

  2. Otwarte chrome-extension://djflhoibgkdhkhhcedjiklpkjnoahfmg/options.html.

  3. Kliknij Permanent Spoof list.

  4. Wprowadź domenę konkretnej strony internetowej, wybierz żądanego klienta użytkownika i kliknij Add.

zrzut ekranu


8

Do przeglądarki Firefox 25 można ustawić general.useragent.override.[domain]niestandardowy ciąg znaków UA. Niestety ta funkcja została usunięta w przeglądarce Firefox 25 .

Teraz, aby uzyskać ciąg znaków UA dla witryny, można zainstalować UAControl plus User-Agent JS Fixer . Pierwszy dodatek modyfikuje User-Agentnagłówek żądania dla witryny, ale nie navigator.userAgentciąg, który jest często używany do wąchania UA . Drugi dodatek uzupełnia pierwszy dodatek przez przesłonięcie navigator.userAgent.

Ponieważ mam już zainstalowanego Greasemonkey, a witryna, na którą kieruję reklamy, wykorzystuje tylko wąchanie User-Agent po stronie klienta, postanowiłem napisać mały skrypt użytkownika do zmiany navigator.userAgentdla tej konkretnej witryny:

// ==UserScript==
// @name        Change navigator.userAgent
// @namespace   Rob W
// @description Changes navigator.userAgent to IE on IEGallery.com
// @match       http://www.iegallery.com/*
// @run-at      document-start
// @grant       none
// @version     1
// ==/UserScript==

Object.defineProperty(navigator, 'userAgent', {
    value: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)'
});

Działa jak urok w przeglądarce Firefox 26.0.


Zmieniłem to, aby pasowało do facebook.com i youtube.com, ale to nie działało. Słyszałem, że nie można zmienić agenta użytkownika za pomocą skryptu użytkownika, ponieważ działa to dopiero po załadowaniu witryny, a informacje o kliencie użytkownika należy przesłać wcześniej. Czy to prawda?
Ooker

7

W przeglądarce Firefox dostępne są rozszerzenia UAControl i ua-site-switch , które pozwalają na ustawienie nagłówka User-Agent dla poszczególnych witryn. Wybierz jeden z nich i, jak zauważył Rob W , musisz również zainstalować User-Agent JS Fixer .


Czy wiesz, czy to działa na stronie czy na domenie? Próbuję dopasować google.com/searchi to nie działa, ale może Google wykonuje pewne sprawdzanie oparte na JS.
njsg

Wygląda na to, że jesteś w stanie zastosować określone reguły dla subdomen, więc odpowiedź na twoje pytania zależy od definicji „strony”. W każdym razie próba dopasowania „google.com/search” wymagałaby dopasowania ścieżki, która jest poza zakresem dla dopasowania witryny i domeny. W tym przypadku może istnieć inne rozwiązanie, które odpowiada Twoim potrzebom, ale zależy to od tego, co próbujesz osiągnąć.
Gurken Papst

Cóż, to nie zadziała. Skończyło się to na www.google.com, co również wpływa na kalendarz. Chciałem zmienić klienta użytkownika używanego do Google Web i wyszukiwania grafiki, aby zamiast tego używał zastępczej wersji innej niż AJAXy. Ich poszukiwania faktycznie żyją pod google.com/search. Myślę jednak, że byłoby więcej przypadków, w których przydatne byłoby więcej niż dopasowanie domen. Istnieje zbyt wiele witryn, które nie mają własnej domeny lub które zapewniają całkowicie oddzielne usługi w tej samej domenie.
njsg

Zgadzam się z tobą, że byłby to miły bonus, ale prawdopodobnie jest trudny do wdrożenia i może być mylący dla wielu użytkowników. Jeśli chodzi o problem z wyszukiwaniem: czy webapps.stackexchange.com/questions/6809/… byłby akceptowalną alternatywą? Innym sposobem byłoby użycie do wyszukiwania domeny z kodem kraju, np. Google.ch.
Gurken Papst

3

Istnieje wiele rozszerzeń, których można użyć, automatycznie wykrywając ustawienie IE dla witryny na FF.

IE TabV2

Zaktualizowana, w pełni obsługiwana karta IE. Osadź IE na karcie Firefox.
Funkcje karty IE: obsługa FF 4+, tryby zgodności IE 7-9, import starych ustawień karty IE. Karta IE obsługuje ICBC i alipay

IE Tab Plus

Oryginalna karta IE (działa również dla IE8, IE9)

Ulepszona wersja karty IE z obsługą Adblock Plus w IE. Pozwala również importować ustawienia z karty IE i synchronizować pliki cookie między IE a Firefox.

Tylko IE-Tab do obsługi FF4 i nie tylko


Cholera, pobij mnie do tego. ;) +1 za bycie bardziej dokładnym niż ja też.
techturtle

1

Możesz użyć dodatku takiego jak IE-tab , który faktycznie będzie korzystał z bibliotek DLL IE z Firefoksa, więc strona nie tylko będzie myśleć, że używasz IE, ale będzie renderować to samo. Można ustawić automatyczne stosowanie, gdy odwiedzasz określone strony, dzięki czemu Firefox renderuje się na wszystkich elementach oprócz stron wymagających IE.


+1 dzięki za sugestię, ale mam wyłączoną IE, więc nie jestem pewien, czy to jest dla mnie.
nikhil

0

Oto co zrobiłem w FireFox:

  1. Użyłem UserAgentSwitcher Addon do sfałszowania się jako iPhone. Odwiedzana witryna Zawsze chcę załadować wersję mobilną, a ona automatycznie załadowała wersję mobilną.

  2. Utworzono zakładkę do strony mobilnej witryny.

  3. Ustaw UAcontrol Addon, aby korzystał z iPhone'a w witrynie.

  4. Wyłączono UserAgentSwitcher.

Kiedy uruchamiam witrynę ze zwykłej zakładki, korzysta ona ze zwykłej strony internetowej. A kiedy uruchamiam witrynę z zakładki wersji mobilnej, korzysta ona z wersji mobilnej.

Zatem ... funkcjonalność UserAccountSwitcher zlokalizowana na jednej stronie, a nie globalnie.


Jaka jest korzyść z używania UserAgentSwitcher zamiast samego UAControl?
Gurken Papst,

Zakładając, że nie chcesz, aby agent użytkownika był zmieniany globalnie, nic. Użyłem UserAgentSwitcher tylko w powyższych krokach, ponieważ musiałem pobrać agenta użytkownika iPhone'a, ponieważ nie wiedziałem, co to jest.
karl

Czy w ostatnim zdaniu miałeś naprawdę na myśli przełącznik konta użytkownika ?
bytebuster

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.