gpt4 book ai didi

python 套接字应用程序未按预期从终端运行

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:08:25 24 4
gpt4 key购买 nike

我正在关注我购买的一本名为“Black Hat Python”的书,但遇到了一个我似乎无法解决的问题。

到目前为止,本书已经让读者创建了几个 Python 应用程序:一个用于发送/接收数据、远程执行命令的命令行工具,以及一个通过指定主机/端口重定向连接的 TCP 代理客户端。

问题是,当我从终端启动这些时,我没有收到任何输出,终端使用屏幕抓取类型的光标等待我的输入。它等待我“抓取”图像或屏幕的一部分 3 次,然后失败。然后,我将一些图像文件保存到名为“getopt”、“socket”、“subprocess”、“threading”和“sys”的主文件夹中。 “抓取”屏幕 3 次后,我从终端获得的输出是:

root@c0ff33:~# ./1proxy.py 127.0.0.1 21 ftpserver.ftp 21 True
./1proxy.py: line 5: syntax error near unexpected token `('
./1proxy.py: line 5: `def server_loop(local_host, local_port, remote_host, remote_port, receive_first):

但是,当我在我的 IDE 客户端中运行它时,当我向它传递相同的参数时它运行良好。连接已启动并等待与远程主机的连接。然后输出是正确的,代理客户端等待通过端口 21 上的本地主机的连接:

[*] Listening on 127.0.0.1:21
[==>] Receive incoming connection from 127.0.0.1:49475

有人知道为什么会这样吗?为什么我不能从终端执行它并得到相同的结果?

我传递的参数是:

./myproxy.py 127.0.0.1 21 ftpserver.ftp 21 True

127.0.0.1 = localhost
21 = local port
ftpserver.ftp = remote host
21 = remote port
True = receive first

最佳答案

这可能是因为您的 shell 试图将您的脚本传递给 BASH 来执行。 BASH 会在你的代码中看到很多错误。您需要运行 python code.py 或在开头添加 #!/path/to/python 而不是键入 ./code.py你的脚本。

关于python 套接字应用程序未按预期从终端运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com