无法启动BrowserMod代理,因为FileNotFoundError:[WinError 2]

2024-10-03 11:20:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Python脚本启动BrowserMod代理,但每次我得到FileNotFoundError:[WinError 2]

我(在Windows上)执行了以下操作:

  1. https://bmp.lightbody.net/下载了BrowserMod代理,并将其解压缩到“C:\Utility\browsermob Proxy”目录中

  2. 使用以下命令安装browsermob代理模块:

    pip install browsermob-proxy
    
  3. 编写了以下代码:

    from browsermobproxy import Server
    server = Server('C:\\Utility\\browsermob-proxy\\bin\\browsermob-proxy')
    server.start()
    proxy = server.create_proxy()
    

运行此代码时,会收到以下消息:

"C:\Program Files\Python39\python.exe" C:/website-testing-test/Tests/test_main.py
Traceback (most recent call last):
  File "C:\website-testing-test\Tests\test_main.py", line 3, in <module>
    server.start()
  File "C:\Program Files\Python39\lib\site-packages\browsermobproxy\server.py", line 111, in start
    self.process = subprocess.Popen(self.command,
  File "C:\Program Files\Python39\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Program Files\Python39\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Process finished with exit code 1

我查看了browsermob-proxy.bat对文件的具体操作,并从命令行执行了相同的操作:

java -classpath C:\Utility\browsermob-proxy\lib\* -Dapp.name="browsermob-proxy" -Dapp.repo=C:\Utility\browsermob-proxy\lib\* -Dbasedir=C:\Utility\browsermob-proxy net.lightbody.bmp.proxy.Main

因此,我看到BrowserMod代理正在启动,我收到以下消息:

    C:\WINDOWS\system32>java -classpath C:\Utility\browsermob-proxy\lib\* - 
 Dapp.name="browsermob-proxy" -Dapp.repo=C:\Utility\browsermob-proxy\lib\* - 
Dbasedir=C:\Utility\browsermob-proxy net.lightbody.bmp.proxy.Main
Running BrowserMob Proxy using LittleProxy implementation. To revert to the 
legacy implementation, run the proxy with the command-line option '--use- 
littleproxy false'.
[INFO  2021-03-12T12:28:55,610 net.lightbody.bmp.proxy.Main] (main) Starting BrowserMob Proxy version 2.1.4
[INFO  2021-03-12T12:28:55,639 org.eclipse.jetty.util.log] (main) jetty-7.x.y-SNAPSHOT
[INFO  2021-03-12T12:28:55,761 org.eclipse.jetty.util.log] (main) started o.e.j.s.ServletContextHandler{/,null}
[INFO  2021-03-12T12:28:55,890 org.eclipse.jetty.util.log] (main) Started SelectChannelConnector@0.0.0.0:8080

如何诊断从Python脚本启动BrowserMod代理的问题?有什么想法吗


Tags: py代理netservermainliblinefiles