3
我想编写Python脚本,将:的Python:运行SimpleHTTPServer,并要求它在脚本
- 开始SimpleHTTPServer某些端口上
- 向服务器的请求,并通过发送一些数据POST 通过在交互模式的shell
- 运行脚本,并进行交互与它
现在的代码如下所示:
import SimpleHTTPServer
import SocketServer
import urllib
import urllib2
# Variables
URL = 'localhost:8000'
PORT = 8000
# Setup simple sever
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
# Getting HTML from the target page
values = {
'name': 'Thomas Anderson',
'location': 'unknown'
}
data = urlilib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
html = response.read()
的问题是,一旦我跑我的脚本
python -i foo.py
它打印serving at port 8000
,然后冻结。我敢打赌,这对蟒蛇大师来说简直是微不足道的,但我们会很感激。
谢谢,这是我一直在寻找,但由于蟒蛇体验极限无法得到。 – Oleg
我注意到的一件事是,尝试执行此操作时出错:socket.error:[Errno 10048]每个套接字地址(协议/网络地址/端口)只有一个用法是允许的 ted – Oleg
这很可能由于这样的事实,至少在你的例子中,你并没有关闭你的http服务器。请参阅我的答案了解更多详情。 –