我有 FastAPI (Python) 和 uvicorn[标准]。我有这个错误:
error walking file system: OSError [Errno 40] Too many levels of symbolic links: '/sys/class/vtconsole/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0/subsystem/vtcon0'
Run Code Online (Sandbox Code Playgroud)
如果我只使用 uvicorn,一切都可以,但我需要 uvicorn[standard]。如何修复它?
我在 Docker 中使用它。
我使用 Socket.IO 在 NextJS 上开发 Web 应用程序。
当我运行我的应用程序时,一切都很好。但2分钟后出现错误。
NGINX 日志:
172.19.0.1 - - [12/Sep/2022:16:27:39 +0000] "POST /api/ HTTP/1.1" 200 147 "http://localhost/en" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15"
172.19.0.1 - - [12/Sep/2022:16:27:59 +0000] "GET /_next/webpack-hmr HTTP/1.1" 101 269 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15"
...
172.19.0.1 - - [12/Sep/2022:16:29:21 +0000] "GET /_next/webpack-hmr HTTP/1.1" 101 71 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like …Run Code Online (Sandbox Code Playgroud) 我在 Flask 和 FastAPI 上有类似的应用程序。当我使用 Flask 执行此 curl 请求时,没问题:
没有 TLS:
curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' http://X.X.X.X:5050/
{"error":0,"result":{"token":"XXX"}}
Run Code Online (Sandbox Code Playgroud)
使用 TLS:
curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' https://example.com:8443/api/
{"error":0,"result":{"token":"XXX"}}
Run Code Online (Sandbox Code Playgroud)
!!!但是使用 FastAPI 我得到了另一个结果:
没有 TLS:
curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' http://X.X.X.X:5050/
{"error":0,"result":{"token":"XXX"}}
Run Code Online (Sandbox Code Playgroud)
使用 TLS:
curl -X POST -H "Content-Type: application/json" -d '{"method": "account.auth"}' https://example.com:8443/api/
Unsupported upgrade request.
Run Code Online (Sandbox Code Playgroud)
如何解决“不支持的升级请求”问题?还有,这是什么?Flask 正常使用它。
我有:
docker-compose.yml
version: "3.9"
services:
test_name:
image: ${PROJECT_NAME}/test_service
build:
dockerfile: Dockerfile
env_file: .env
Run Code Online (Sandbox Code Playgroud)
Dockerfile
FROM alpine:3.15
RUN echo $TEST >> test1.txt
CMD echo $TEST >> test2.txt
Run Code Online (Sandbox Code Playgroud)
结果:
test1.txt - 空,test2.txt 有数据。
我的问题是这个变量太多了,那么我可以从.env文件中获取 RUN 命令中的环境变量,而不需要在 ARG 中枚举所有环境变量吗?
当我尝试通过 web3js 和 MetaMask 调用以太坊智能合约时,我遇到了获取 window.web3 的问题。该消息表示该值未定义。
<script src="jquery.min.js"></script>
<script src="web3.min.js"></script>
<script type="text/javascript">
window.addEventListener('load',
function() {
$("#loader").hide();
console.log('!');
web3 = window.web3;
console.log(web3);
// Checking if Web3 has been injected by the browser (Mist/MetaMask)
if (typeof web3 !== 'undefined') {
// Use Mist/MetaMask's provider
web3 = new Web3(web3.currentProvider);
window.web3 = new Web3(web3.currentProvider);
console.log(web3.currentProvider);
if (web3.currentProvider.isMetaMask === true) {
startApp();
} else {
$('#results').html('No web3? Please use google chrome and metamask plugin to enter this Dapp!');
}
}
});
...Run Code Online (Sandbox Code Playgroud)
安慰:
! …