我在ESP8266上运行MicroPython。代码应该向Twilio的restAPI发送一个SMS HTTP POST请求。我试图让它与urequests合作。但我始终得到401 UNAUTHORIZED回应。请一些建议。代码:Micropython ESP8266 Twilio 401 UNAUTHORIZED
import urequests
def send_sms():
twilio_account_sid = "{AcctSID}"
twilio_auth_token = "{AuthToken}"
from_phn_nbr = "+{FromPhoneNbr}"
to_phn_nbr = "+{ToPhoneNbr"))
twilio_proto = "https://"
twilio_host = "api.twilio.com"
twilio_path = "/2010-04-01/Accounts/{AcctSID}/Messages"
twilio_url = twilio_proto + twilio_host + twilio_path
twilio_data = "'From': '{from_phn_nbr}', \
'To': '{to_phn_nbr}', \
'Body': 'Hai'"
twilio_headers = {
'Authorization': 'Basic {AcctSID}:{AuthToken}',
'Content-Type': 'application/x-www-form-urlencoded',
'WWW - Authenticate': 'Basic realm = "Twilio API'
}
try:
resp = urequests.post(url=twilio_url,
data=twilio_data,
headers=twilio_headers)
print(resp.status_code, resp.reason)
except Exception as exc:
print("\nException occured.")
sys.print_exceptin(exc)
我实施了,和它的作品。感谢您的建议。顺便说一句:我用[邮差](https://www.getpostman.com)生成基地64编码认证字符串。 BTW2:[urequests](https://pypi.python.org/pypi/micropython-urllib.urequest)是Micropython用于发送HTTP请求的模块。 – andere
太棒了!很高兴现在正在工作。因为我的回答可能是模糊的,你会介意将其标记为正确的,以便其他人可以看到吗? – philnash
@andere你介意发布你如何解决这个问题吗?我有(我想)与'urequests'相同的问题:请参阅https://stackoverflow.com/questions/46939183/micropython-urequests-post-failures谢谢 – dentex