编码/解码十六进制的Restfull API问题

2024-09-30 04:35:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在本地服务器上用Flask创建了Restfull API。
我在编码/解码六边形时遇到了一些问题。你知道吗

我创建了一个函数来调试我的问题:

class test_encoding(Resource) :
    def get(self,val):
        return{'data': val}

api.add_resource(test_encoding,'/testencoding/<val>')

例如,如果我在Chrome中用作请求:

.../testencoding/%23

我得到这个响应(十六进制编码):

{"data": "#"}

但是我想保留我的字符串,因为它是用Chrome编写的,带有%

{"data": "%23"}

我知道我必须玩编码和解码,但我完全迷路了。 你能帮助我吗?你知道吗

提前感谢您的帮助,
LCMa公司

更新

因为我试图得到网址感谢请求.url它返回了相同的“#”,而不是“%23”,我知道URL是自动修改的。 我的想法是返回提示符中显示的请求url:

(base) C:\Users\maell\PycharmProjects\Serveur>python app.py
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [13/Mar/2019 10:02:53] "GET /testencoding/%23 HTTP/1.1" 200 -

我们在这里看到,url是按我想要的方式打印的。
但是如何从控制台获取这个呢?有可能吗?


Tags: test服务器appurlflask编码dataserver
1条回答
网友
1楼 · 发布于 2024-09-30 04:35:20

这里有一个例子说明了如何实现这两种方法,我从URL接收项目id,因为它只是一个数字,但是名称有一些特殊的字符,这些字符是从URL中删除的,所以唯一的方法就是将它放入请求体中。你知道吗

@projects.route("/<project_id>/configurations/<configuration_id>/rename", methods=['PUT'])
    new_name = json.loads(request.data)['name']

相关问题 更多 >

    热门问题