Доброго дня/утра/вечера.
Перелазил кучу форумов и наших и зарубежных и не нашёл. :blink:
Нужно поменять user-agent,
Такое решение не подходит, потому что в данном случае user-agent прописывается только в первом запросе, в фоновых запросах или при перезагрузке страницы будет участвовать базовый user-agent
Пробовал изменить user-agent через реестр. Не полоучилось. Меняется только частично. Похоже что это когда-то работало но не сейчас. :-X
Для решения данной задачи нашел такой код, но проблема в том что мне не нужно создавать GUI.
Как сделать так, чтобы с помощью
поменять user-agent при обычном
Пробовал вызывать функцию _SetUserAgent($agent) в разных участках кода, до/после _IECreate() - результат отрицательный.
Есть идеи как решить данную задачу?
UPD:
Протестировал вариант с GUI из примера выше. Он вообще ни как не подходит. Потому что JS в нем не работает. Точней работает, но запросы не шлёт, да и в целом работает не корректно.
Попробую погуглить на счёт JS в GUI.
Перелазил кучу форумов и наших и зарубежных и не нашёл. :blink:
Нужно поменять user-agent,
Такое решение не подходит, потому что в данном случае user-agent прописывается только в первом запросе, в фоновых запросах или при перезагрузке страницы будет участвовать базовый user-agent
Код:
$oIE = _IECreate()
$oIE.navigate('http://2ip.ru/', 2, '', '', 'User-Agent: My super special user agent string.')
Пробовал изменить user-agent через реестр. Не полоучилось. Меняется только частично. Похоже что это когда-то работало но не сейчас. :-X
Для решения данной задачи нашел такой код, но проблема в том что мне не нужно создавать GUI.
Код:
#include <IE.au3>
GUICreate("Test User-Agent String", 700, 500)
_IEErrorHandlerRegister()
$oIE = _IECreateEmbedded()
GUICtrlCreateObj($oIE, 10, 10, 680, 480)
_SetUserAgent('User-Agent: My super special user agent string.')
_IENavigate($oIE,"http://2ip.ru/")
sleep(1000)
GUISetState()
While GUIGetMsg() <> -3
WEnd
Func _SetUserAgent($agent)
$agentLen = StringLen($agent)
Dim $tBuff = DllStructCreate("char["&$agentLen&"]")
DllStructSetData($tBuff, 1, $agent)
$chk_UrlMkSetSessionOption = DllCall("urlmon.dll", "long", "UrlMkSetSessionOption", "dword", 0x10000001, "ptr", DllStructGetPtr($tBuff), "dword", $agentLen, "dword", 0)
EndFunc
Как сделать так, чтобы с помощью
Код:
DllCall("urlmon.dll", "long", "UrlMkSetSessionOption", "dword", 0x10000001, "ptr", DllStructGetPtr($tBuff), "dword", $agentLen, "dword", 0)
поменять user-agent при обычном
Код:
$oIE = _IECreate()
Пробовал вызывать функцию _SetUserAgent($agent) в разных участках кода, до/после _IECreate() - результат отрицательный.
Есть идеи как решить данную задачу?
UPD:
Протестировал вариант с GUI из примера выше. Он вообще ни как не подходит. Потому что JS в нем не работает. Точней работает, но запросы не шлёт, да и в целом работает не корректно.
Попробую погуглить на счёт JS в GUI.