【发布时间】:2022-01-09 21:21:24
【问题描述】:
我正在编写一个 bash 脚本。我需要从我的 esp32 上的 websocket 获取数据。我需要从传感器中获取价值。问题是有时我在发送请求时无法正确连接。
flow_value_raw=$(timeout 1s \
curl \
--no-buffer \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Host: $ip$port/$flow" \
--header "Origin: http://$ip$port/$flow" \
--header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
--header "Sec-WebSocket-Version: 13" \
http://$ip:$port/$flow 2>/dev/null)
flow_value_raw=${flow_value_raw:2}
通过这种方式,我每秒触发一次 curl,但很多时候我从 curl 中一无所获。有什么方法可以告诉 curl 从响应中获取一个值?如果我只使用 curl 而没有超时,我会得到多个响应。
【问题讨论】: