Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№119-04-2011 12:05:50

Helloween
Участник
 
Группа: Members
Зарегистрирован: 12-04-2011
Сообщений: 5
UA: Chrome 10.0

user agent в Mozilla 4.0

Доброго времени суток всем! Подскажите, пожалуйста, как в SDK Mozilla 4.0 подменить user agent на какой-нибудь свой, например "Вася Пупкин" или что-то в этом духе?.. Суть в том, что есть самописный http-сервер и самописный браузер на основе xulrunner_sdk_2.0, который пуляет запросы на этот сервер. Вот нужно, чтобы при отправке запроса в качестве user-agent стояло не Mozilla bla-bla-bla, а то, что нужно мне... Я отдалённо слышал, что нужно реализовать какой-то листенер... Может кто-нибудь поподробнее рассказать, а лучше ссылочками помочь?.. )))

Отсутствует

 

№222-04-2011 23:22:11

arhberk
Участник
 
Группа: Members
Зарегистрирован: 06-11-2010
Сообщений: 15
UA: Firefox 4.0

Re: user agent в Mozilla 4.0

Нужно поменять настройки браузера.  На Delphi так:

Выделить код

Код:

procedure ChangeUserAgent(UserAgent:string);
var
  PrefService: nsIPrefService;
  PrefBranch: nsIPrefBranch;
const
  PREFSERVICE_ContractID= '@mozilla.org/preferences-service;1';
begin
  NS_GetService(PREFSERVICE_ContractID, nsIPrefService,PrefService);
  PrefService.GetBranch('general.useragent.',PrefBranch);
  PrefBranch.SetCharPref('override', PChar(UserAgent));
end;

Отредактировано arhberk (23-04-2011 00:09:49)

Отсутствует

 

№323-04-2011 00:49:27

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 4.0

Re: user agent в Mozilla 4.0

arhberk пишет

Вот нужно, чтобы при отправке запроса в качестве user-agent стояло не Mozilla bla-bla-bla, а то, что нужно мне...

Выставляйте у запроса соответствующие заголовки.

Отсутствует

 

№426-04-2011 11:51:24

Helloween
Участник
 
Группа: Members
Зарегистрирован: 12-04-2011
Сообщений: 5
UA: Chrome 10.0

Re: user agent в Mozilla 4.0

arhberk пишет

Нужно поменять настройки браузера.  На Delphi так:

Выделить код

Код:

procedure ChangeUserAgent(UserAgent:string);
var
  PrefService: nsIPrefService;
  PrefBranch: nsIPrefBranch;
const
  PREFSERVICE_ContractID= '@mozilla.org/preferences-service;1';
begin
  NS_GetService(PREFSERVICE_ContractID, nsIPrefService,PrefService);
  PrefService.GetBranch('general.useragent.',PrefBranch);
  PrefBranch.SetCharPref('override', PChar(UserAgent));
end;

Огромный респект и уважуха за направление! На C существенно отличается:

Выделить код

Код:

BOOL CBrowserWnd::ChangeUserAgent(LPCSTR lpszUserAgentName)
{
    nsresult nsResult = NS_OK;
    nsIServiceManager *p_nsIServiceManager = NULL;
    nsIPrefService *p_nsIPrefService = NULL; 
    nsIPrefBranch *p_nsIPrefBranch = NULL;
    do
    {
        nsResult = NS_GetServiceManager(&p_nsIServiceManager);
        if (nsResult != NS_OK)
            break;
        nsResult = p_nsIServiceManager->GetService(NS_PREFSERVICE_CID, NS_IPREFSERVICE_IID, (LPVOID *)&p_nsIPrefService);
        if (nsResult != NS_OK)
            break;
        nsResult = p_nsIPrefService->GetBranch("general.useragent.", &p_nsIPrefBranch);
        if (nsResult != NS_OK)
            break;
        nsResult = p_nsIPrefBranch->SetCharPref("override", lpszUserAgentName);
    }
    while (0);

    return nsResult == NS_OK;
}

но суть в том, что работает! Ещё раз спасибо! Ловите плюсик! )

Отредактировано Helloween (26-04-2011 11:52:28)

Отсутствует

 

№526-04-2011 13:38:10

arhberk
Участник
 
Группа: Members
Зарегистрирован: 06-11-2010
Сообщений: 15
UA: Firefox 4.0

Re: user agent в Mozilla 4.0

Helloween пишет

Ещё раз спасибо!

Не за что :)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]