Python 2.7 Python中的服务器:无需重定向即可在URL上写入或添加参数

Python 2.7 Python中的服务器:无需重定向即可在URL上写入或添加参数,python-2.7,cherrypy,Python 2.7,Cherrypy,我需要使用CherryPy和Python版本2.7.3来处理Url的命令 我想更改url 旧网址是 localhost:8080 并在Url中自动添加foo=1&foo=2(变量s) localhost:8080?=foo=1&foo=2 import cherrypy import urllib class Root(object): @cherrypy.expose def index(self): jsondict = [('foo', '1

我需要使用CherryPy和Python版本2.7.3来处理Url的命令

我想更改url

旧网址是

localhost:8080
并在Url中自动添加
foo=1&foo=2
变量s

localhost:8080?=foo=1&foo=2


import cherrypy
import urllib

class Root(object):
    @cherrypy.expose
    def index(self):
        jsondict = [('foo', '1'), ('foo', '2')]
        s = urllib.urlencode(jsondict)
        print s
        #foo=1&foo=2

        return "Hello"


cherrypy.config.update({
    'global': {
        'server.socketPort': 8080
    }
})
cherrypy.quickstart(Root())
有解决办法吗

利用安德鲁的建议
raise cherrypy.HTTPRedirect(“localhost:8080?”+参数)。

这是工作,但这是重定向

这我不感兴趣,但写在新的网址使用重定向

我不想重定向,但我总是在这个url上工作,添加查询字符串而不重定向


有可能吗?

简单的重定向怎么样

import cherrypy

class Root(object):
    @cherrypy.expose
    def index(self):
        urlVar = 1
        urlVar2 = 2
        raise cherrypy.HTTPRedirect("localhost:8080?foo=" + str(urlVar) + "&fooo=" + str(urlVar2))

cherrypy.config.update({
    'global': {
        'server.socketPort': 8080
    }
})
cherrypy.quickstart(Root())

简单的重定向怎么样

import cherrypy

class Root(object):
    @cherrypy.expose
    def index(self):
        urlVar = 1
        urlVar2 = 2
        raise cherrypy.HTTPRedirect("localhost:8080?foo=" + str(urlVar) + "&fooo=" + str(urlVar2))

cherrypy.config.update({
    'global': {
        'server.socketPort': 8080
    }
})
cherrypy.quickstart(Root())

错误。。。我编译了你的程序。。。500内部服务器错误服务器遇到意外情况,无法满足请求。回溯(最近一次调用):文件“/usr/lib/python2.7/dist packages/cherrypy/_cprequest.py”,第656行,在response-response.body=self.handler()文件“/usr/lib/python2.7/dist packages/cherrypy/lib/encoding.py”,第188行,在call-self.body=self.oldhandler(*args,**kwargs)文件中“/usr/lib/python2.7/dist packages/cherrypy/_cpdispatch.py”,第34行,在调用返回self.callable(*self.args,**self.kwargs)文件“serv.py”中,第34行,在索引raise cherrypy.HTTPRedirect(“localhost:8080?foo=“+urlVar+”&fooo=“+urlVar2)中TypeError:无法连接'str'和'int'对象我投票支持你的建议,而不是更好的答案。<我更改了你的项目(查看问题)和函数。但我对在没有重定向的情况下处理Url很感兴趣。我在使用带有新Url的重定向时遇到问题。有可能,在没有重定向的情况下在Url上写入。错误…我编译了您的程序…500内部服务器错误服务器遇到意外情况,使其无法满足请求。回溯(最后一次调用):文件“/usr/lib/python2.7/dist-packages/cherrypy/_-cprequest.py”,第656行,在response-response.body=self.handler()文件“/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py”,第188行,在call-self.body=self.oldhandler(*,**kwargs)文件“/usr/lib/python2.7/dist-packages/cherrypy//,第34行,在调用返回self.callable(*self.args,**self.kwargs)文件“serv.py”中,第34行,在索引raise cherrypy.HTTPRedirect(“localhost:8080?foo=“+urlVar+”&fooo=“+urlVar=”&fooo=“+urlVar2)类型错误:无法连接'str'和'int'对象。我投票赞成你的建议,而不是更好的答案。<我更改了你的项目(看问题)和功能。但是我对没有重定向的Url很感兴趣。当我使用带有新Url的重定向时,我遇到了问题。有可能,在没有重定向的Url上写。