是否有办法对请求网址进行编码?
比如,我可以使用url来请求Django / Django-Rest-Framework提供图片:
https://localhost:8000/images/icon.png
我是否可以使用中间件或其他任何来编码网址?
因为如果icon.png
是你好.png
,我想将网址编码为utf-8
。
是否可行?
修改-1
我的意思是,在Django后端,我是否可以在请求之前对网址进行编码?
有一个例子:
https://www.google.com/images/icon.png
如果google.com
使用Django作为后端,这个网址可以请求后端,我是否可以在查询后端之前获取请求网址,然后为网址做一些事情,然后让网址请求后端?在Django。
修改-2
我在第一个中间件中突破了这一点,但是当我直接在浏览器中请求img请求url时,它没有得到断点:
修改-3
这是我输入的最后一个中间件命令:
class AccessControl(MiddlewareMixin):
def process_request(self, request):
if 'HTTP_ACCESS_CONTROL_REQUEST_METHOD' in request.META:
response = http.HttpResponse()
response["Access-Control-Allow-Origin"]= "*"
response["Access-Control-Allow-Credentials"] = "true"
response["Access-Control-Allow-Methods"]= "GET,HEAD,OPTIONS,POST,PUT"
response["Access-Control-Allow-Headers"] = "Authentication , Authorization , X-CSRF-Token , " \
"Access-Control-Allow-Credentials , " \
"Access-Control-Allow-Methods , Access-Control-Allow-Origin , " \
"Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, " \
"Content-Type, Access-Control-Request-Method, " \
"Access-Control-Request-Headers"
return response
return None
答案 0 :(得分:-1)
使用urllib
(python 2)或urllib.parse
(python 3)
Python 2
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import urllib
print urllib.quote_plus('你好.png')
Python 3
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import urllib.parse
urllib.parse.quote_plus('你好.png')
结果:
%E4%BD%A0%E5%A5%BD.png