我有一个简单的功能,可以通过 POST-Request 调用我的后端。它使用项目中到处使用的相同包装函数,只是“获取”并以某种异步/等待方式调用。
body 只是静态的东西,一些 ID 和两个日期。非常简单 - 如果根本没有提供 body 或类似的内容,包装函数将会失败。
但请求“总是”(嗯,大约 100 次重试中有一两次成功尝试)失败并显示 NS_BINDING_ABORTED
谷歌告诉我,这条消息意味着我有一些缓存命中,请求被取消 - 但缓存被禁用,标头变量应该阻止它,并且向 URL 添加随机内容不会做任何事情。(有时 OPTIONS 调用会通过,但 POST 本身仍然失败)
该项目中的几乎所有后期请求都是使用这个完全相同的包装器完成的。
有人知道我可以在哪里调试这个吗?
我应该如何在Python中为SQLite3进行真正的转义?
\n\n如果我用谷歌搜索它(或搜索 stackoverflow),就会有大量的问题,每次的回答都是这样的:
\n\ndbcursor.execute("SELECT * FROM `foo` WHERE `bar` like ?", ["foobar"])\nRun Code Online (Sandbox Code Playgroud)\n\n这有助于防止 SQL 注入,如果我只用“=”进行比较就足够了,但它当然不会删除通配符。
\n\n所以如果我这样做
\n\ncursor.execute(u"UPDATE `cookies` set `count`=? WHERE `nickname` ilike ?", (cookies, name))\nRun Code Online (Sandbox Code Playgroud)\n\n一些用户可以为昵称提供“%”,并用一行替换所有 cookie 条目。 \n我可以自己过滤它(呃\xe2\x80\xa6 无论如何,我可能会忘记那些鲜为人知的通配符之一) ,我可以在昵称和昵称上使用小写字母,并将“ilike”替换为“=”,但我真正想做的是:
\n\nfoo = sqlescape(nick)+"%"\ncursor.execute(u"UPDATE `cookies` set `count`=? WHERE `nickname` ilike ?", (cookies, foo))\nRun Code Online (Sandbox Code Playgroud)\n