我正在尝试使用 Bing 的实体搜索 API,但是我需要通过代理才能建立连接。
我的公司给了我一个使用以下格式的代理:'http://username:password@webproxy.subdomain.website.com:8080'
我试过使用 HTTPConnection.set_tunnel(host, port=None, headers=None) 无济于事。有谁知道如何使用我提供的代理运行下面的 Python 查询?
import http.client, urllib.parse
import json
proxy = 'http://username:pwd@webproxy.subdomain.website.com:8080'
subscriptionKey = 'MY_KEY_HERE'
host = 'api.cognitive.microsoft.com'
path = '/bing/v7.0/entities'
mkt = 'en-US'
query = 'italian restaurants near me'
params = '?mkt=' + mkt + '&q=' + urllib.parse.quote (query)
def get_suggestions ():
headers = {'Ocp-Apim-Subscription-Key': subscriptionKey}
conn = http.client.HTTPSConnection(host)
conn.request("GET", path + params, None, headers)
response = conn.getresponse()
return response.read()
result = get_suggestions ()
print (json.dumps(json.loads(result), indent=4))
作为旁注,我能够使用代理成功运行以下命令。
nltk.set_proxy('http://username:pwd@webproxy.subdomain.website.com:8080')
nltk.download('wordnet')