>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Firefox http://forum.mozilla-russia.org/viewforum.php?id=4 >Firefox не запускается под учеткой system http://forum.mozilla-russia.org/viewtopic.php?id=73138 |
catapulta > 08-02-2018 11:30:32 |
Здравствуйте. От имени обычного пользователя все отлично работает Спасибо |
catapulta > 08-02-2018 13:35:50 |
Вот код питона. скрытый текст Выделить код Код:HOST = 'localhost' PORT=50011 urlPattern='http://localhost:%i/%s' htmlPageHead="HTTP/1.1 %s\r\nServer: Our\r\nCache-Control: no-cache\r\nContent-Language: ru\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: %i\r\n\r\n" htmlPageText="<!DOCTYPE HTML><html><head><title>%s</title></head><body><h2>%s</h2></body></html>" import socket sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind((HOST, PORT)) sock.listen(40) sock.settimeout(10) def receiveData(conn): data='' conn.settimeout(10) try: while True: r_data = conn.recv(1024).decode() data = data + r_data if len(r_data) < 1024: break except Exception: return data return data def connectClient(conn,addr): data=receiveData(conn) if data=='': print('EMPTY DATA ') else: typeIndex=data.find(' ') requestType=data[0:typeIndex] print('requestType',requestType) txt=htmlPageText%('Firefox','Firefox the Best') answer=htmlPageHead%('200 OK',len(txt))+txt conn.send(answer.encode()) conn.close() from ctypes import windll windll.Shell32.ShellExecuteW(0,'open',"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe",urlPattern%(PORT,'start.html'),0,5) while True: try: (conn,addr)=sock.accept() connectClient(conn,addr) except Exception: print('TIMEOUT') break sock.close() print('THE END') Команда назначения запуска браузера из-под учетки system И сама команда launchFirefox.cmd |
mokujin > 08-02-2018 14:04:20 |
сначала, она ищет как процессы закрывать, потом ей систем привилегии понадобились.... и скрипт какой-та питоновский в FF пихает - не иначе удалено какого-то пишут. Чё пишем, а? |
catapulta > 08-02-2018 14:31:02 |
mokujin пишет
Надо забрать результаты выполнения большого Js кода, который неохота переписывать на другой язык. |
mokujin > 08-02-2018 15:38:32 |
ну а я не знаю, ни про женкинсы ни ноды.жс да и ладна. |
catapulta > 14-02-2018 14:25:53 |
mokujin пишет
Во-первых, мы, конечно же, не пишем никаких вирусов. Пишем программу для внутреннего потребления. Во-вторых, мы не из-под пользователя запускаем что-то от имени system, а наоборот, из-под system запускаем что-то, что должно иметь профиль пользователя. Права, я так понимаю, у system'а есть все? Возникла мысль, что среды окружения как-то переписываются, т.к. из-под system firefox активно пытается достать профиль пользователя, который лежит в папке C:\Users\UserName\AppData\ (искали программой процесс монитор). Вместе с тем переменные APPDATA, LOCALAPPDATA и др указывают верно на системный профиль в папке C:\Windows\System32\config\systemprofile\AppData . Было много всяких ситуаций: есть профиль в системной папке, нет, требует только системный, требует только пользовательский, требует и то и другое. То ничего в питон не приходит, то приходит эмпти дата (т.е. соединение было разорвано, и что-то все-таки долетело). Отключали брандмауэр и не отключали. Пробовали на windows 7 и windows 10. Факт в том, что конкретно получить выход (т.е. гет запрос на стороне питона) можно только, если запустить ФФ в видимом режиме. В интернете под "firefox в фоновом режиме" понимается многопоточность браузера, а не то что ФФ запустится без окна Может есть у кого какие мысли идеи, кто хорошо знает firefox, буду страшно благодарна. |