我一直在寻找语法,以重定向一个特殊的网址到远程服务器做一些XSS测试。有什么想法吗?
import SimpleHTTPServer
import SocketServer
class myHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
print self.path
if self.path == '/analog':
-------------------->return "http://12b.dk/analog"???
return SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
theport = 1234
Handler = myHandler
pywebserver = SocketServer.TCPServer(("", theport), Handler)
print "Python based web server. Serving at port", theport
pywebserver.serve_forever()
发布于 2010-03-24 18:57:22
对于重定向,您必须返回一个代码301,外加一个Location
头。也许你可以尝试一下这样的方法:
class myHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.send_response(301)
self.send_header('Location','http://www.example.com')
self.end_headers()
发布于 2014-03-05 04:08:19
这是一段完整的代码,可以重定向、保存此文件并将其作为python程序运行。要终止,请按ctrl + c。
import SimpleHTTPServer
import SocketServer
class myHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
print self.path
self.send_response(301)
new_path = '%s%s'%('http://newserver.com', self.path)
self.send_header('Location', new_path)
self.end_headers()
PORT = 8000
handler = SocketServer.TCPServer(("", PORT), myHandler)
print "serving at port 8000"
handler.serve_forever()
发布于 2014-11-07 16:29:49
HTTP状态代码301具有永久移动的请求的含义,并且应该被重定向到建议的URI,该URI被设置为响应头字段、位置。但是,重定向的发生取决于浏览器的实现。
代替301,返回303告诉浏览器可以在其他URI下找到该请求的响应,并且有效地管理浏览器以将GET请求重定向到另一个URI。Hense,303是更好的选择。
https://stackoverflow.com/questions/2506932
复制相似问题