给定如下的URL,如何解析查询参数的值?例如,在本例中,我想要some_key的值。
/some_path?some_key=some_value'
我在我的环境中使用Django;请求对象上是否有可以帮助我的方法?
我尝试使用self.request.get('some_key'),但它没有返回值some_value,因为我希望。
给定如下的URL,如何解析查询参数的值?例如,在本例中,我想要some_key的值。
/some_path?some_key=some_value'
我在我的环境中使用Django;请求对象上是否有可以帮助我的方法?
我尝试使用self.request.get('some_key'),但它没有返回值some_value,因为我希望。
当前回答
3.4 . for Python >
from urllib import parse
url = 'http://foo.appspot.com/abc?def=ghi'
query_def=parse.parse_qs(parse.urlparse(url).query)['def'][0]
其他回答
urlparse模块提供了你需要的一切:
urlparse.parse_qs ()
没有使用Django,尝试使用Python 3.9。它也可以在处理程序中使用下面的代码片段来检索:
考虑URL为-
http://localhost:8081/api/v1/users?query_key=abcdef12345
和handler方法为:
@routes.get('/api/v1/users')
async def handler_users(request):
query_key = request.url.query['query_key']
3.4 . for Python >
from urllib import parse
url = 'http://foo.appspot.com/abc?def=ghi'
query_def=parse.parse_qs(parse.urlparse(url).query)['def'][0]
顺便说一句,我有使用parse_qs()和获得空值参数的问题,并了解到您必须通过第二个可选参数“keep_blank_values”来返回查询字符串中不包含值的参数列表。默认为false。一些蹩脚的api需要参数,即使它们不包含任何值
for k,v in urlparse.parse_qs(p.query, True).items():
print k
import cgitb
cgitb.enable()
import cgi
print "Content-Type: text/plain;charset=utf-8"
print
form = cgi.FieldStorage()
i = int(form.getvalue('a'))+int(form.getvalue('b'))
print i