我访问了微软的网站,并试图实现他们在网上发布的代码,这是:
import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'xxxxxxxxxx': '{subscription key}',
}
params = urllib.parse.urlencode({
# Request parameters
'q': 'microsoft',
'count': '10',
'offset': '0',
'mkt': 'en-us',
'safeSearch': 'Moderate',
})
try:
conn = http.client.HTTPSConnection('bingapis.azure-api.net')
conn.request("GET", "/api/v5/news/search?%s" % params, "{body}", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
我收到401错误说"访问被拒绝,因为订阅密钥丢失。确保在向API"
发出请求时包含订阅密钥我正在实施此功能时包含正确的订阅密钥,但我不确定是否有错误。
答案 0 :(得分:0)
根据此文档https://msdn.microsoft.com/en-us/library/dn760783.aspx,需要标头Ocp-Apim-Subscription-Key
。将其包含在您定义标题的位置,如下所示:
headers = {
# Request headers
'Ocp-Apim-Subscription-Key': '{subscription key}',
}
答案 1 :(得分:0)