相关疑难解决方法(0)

何时将空间编码为加号(+)或%20?

有时,空格会将URL编码为+符号,有时则会%20.有什么区别,为什么会发生这种情况?

urlencode

451
推荐指数
4
解决办法
22万
查看次数

在Django中测试请求参数("+"表现不同)

我有一个Django View,它使用查询参数进行一些内容过滤.像这样的东西:

/page/?filter=one+and+two
/page/?filter=one,or,two
Run Code Online (Sandbox Code Playgroud)

我注意到Django将其转换+为空格(request.GET.get('filter')返回one and two),我就可以了.我只需要相应地调整split()我在View中使用的功能.

但...

当我尝试测试此视图时,我打电话给:

from django.test import Client
client = Client()
client.get('/page/', {'filter': 'one+and+two'})
Run Code Online (Sandbox Code Playgroud)

request.GET.get('filter')返回one+and+two:加号,没有空格.为什么是这样?

我想认为这Client().get()模仿了浏览器的行为,所以我想了解的是为什么调用client.get('/page/', {'filter': 'one+and+two'})不像浏览/page/?filter=one+and+two.出于测试目的,它在我看来应该是相同的,并且在两种情况下,视图应该为过滤器接收一致的值:be with with +或with space.

我没有得到的是为什么有两种不同的行为.

python django

7
推荐指数
1
解决办法
4505
查看次数

如何确定文件名中是否有加号 (+)?

因此AWS将空格转换+为存储桶/文件 URL。但是其中已有的文件名+被编码为%2B. 我很困惑如何处理这个案子。

当应用程序的输入 URL 为:

https://s3-us-west-2.amazonaws.com/mybucket/Pul0419_32_a+b.zip
Run Code Online (Sandbox Code Playgroud)

我如何确定实际存在的文件是Pul0419_32_a+b.zip还是Pul0419_32_a b.zip

php buckets amazon-s3 amazon-web-services aws-sdk

5
推荐指数
1
解决办法
1684
查看次数