首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >401未授权使用JSON

401未授权使用JSON
EN

Stack Overflow用户
提问于 2018-02-02 20:13:11
回答 1查看 2.8K关注 0票数 0

当我运行下面的bash脚本时,我得到一个错误。

代码语言:javascript
复制
pi@raspberrypi:~/dev-domoticz/scripts $ ./dht_22.sh
21.2
48.2
HTTP/1.1 401 Unauthorized
Content-Length: 91
Content-Type: text/html
Set-Cookie: SID=none; HttpOnly; Expires=Thu, 01 Jan 1970 00:00:00 GMT
<html><head><title>Unauthorized</title></head><body><h1>

此脚本读取温度和湿度dht_22.sh的DHT22芯片,并使用json与Domoticz服务器通信。这样我就可以在Domoticz服务器上看到当前的temp/humi:

代码语言:javascript
复制
#!/bin/sh
# Domoticz server
SERVER="10.0.0.110:8080"
# DHT IDX
DHTIDX="4"

# DHTPIN
DHTPIN="4"

# TEMP FILE
TMPFILE="/var/tmp/temp.txt"

cpt=0
while [ $cpt -lt 6 ]
do
TEMP=""

sleep 5

sudo nice -20 /home/pi/dev-domoticz/scripts/Adafruit_Python_DHT/examples/AdafruitDHT.py 22 $DHTPIN > /var/tmp/temp.t$
#TEMP=$(cat /var/tmp/temp.txt | grep "Temp" | awk '{ print $3 }')
#TEMP=$(cat /var/tmp/temp.txt | grep "Temp")

TEMP=$(awk ' /Temp/ {print substr ($0,6,4)}' /var/tmp/temp.txt)
HUM=$(awk ' /Humidity/ {print substr ($0,22,4)}' /var/tmp/temp.txt)
echo $TEMP
echo $HUM

# Send data
curl  -s -i -H "Accept: application/json" "http://10.0.0.110:8080/json.htm?type=command&param=udevice&idx=$DHTIDX&nv$

TEMP=""
HUM=""

exit 0
cpt=$(($cpt+1))
done
exit 1

当我在浏览器中运行json行时,我也收到了一个401未经授权的错误。我猜我必须输入一些登录信息,所以我也尝试了如下内容:

代码语言:javascript
复制
http://10.0.0.110:8080/json.htm?username=test=&password=test=&type=command&param=udevice&idx=4&nvalue=0&svalue=21;40;2

但是仍然是401错误。

有谁能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 22:49:10

嗯,花了我一些时间,但现在它起作用了。你的解决方案是正确的,维克多·奇林,但是我的Domoticz软件给了我一些问题。

解决方案是这样的:

代码语言:javascript
复制
curl -s -i -H "Accept: application/json" "http://10.0.0.110:8080/json.htm?&username=test=&password=test=&type=command&param=udevice&idx=$DHTIDX&nvalue=0&svalue=$TEMP;$HUM;2"

谢谢你帮我的忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48582437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档