嗨,我需要发送登录头到sigfox。但是,当我在调用中插入auth变量时,它们总是被拒绝或代码失败。
这是确实工作但确实拒绝的代码。
print 'end of the dummy'
devices = requests.get("https://api.sigfox.com/v2/devices", auth=(API_USER, API_PWD)).json()
r = requests.get('https://api.sigfox.com/v2/devices', data=users, stream=True)
data = r.raw.read(r)打印(数据)
这就是失败的代码。
credentials = b64encode(b"somebase64string:somebase64string").decode("ascii")
headers = { 'Authorization' : 'Basic %s' % credentials }
print 'end of the dummy'
devices = requests.get("https://api.sigfox.com/v2/devices", auth=(API_USER, API_PWD)).json() r = requests.get('https://api.sigfox.com/v2/devices', auth=credentials, data=users, stream=True) data = r.raw.read(r)
print(data) 第二段代码不那么凌乱,但堆叠溢出的工作是无效的。我想我需要在r变量中传递auth,但是我不知道如何正确地做到这一点。我正在使用Python2.7
发布于 2019-02-28 10:48:06
你的问题是其中之一:
requests.get(url, params=None, **kwargs)这是来自开发人员界面的函数签名。所以您应该用r = requests.get('https://api.sigfox.com/v2/devices', data=users, stream=True)替换为r = requests.get('https://api.sigfox.com/v2/devices', params=users, stream=True)
但我强烈认为这应该是一个请求,而不是得到。
发布于 2019-02-28 10:46:52
您需要对userid和密码进行编码。
encodedUname = urllib.quote_plus(userName)
encodedPwd = urllib.quote_plus(password)
http://{encodedUname}:{encodedPwd}@{url}https://stackoverflow.com/questions/54923696
复制相似问题