2015-12-20 96 views
-2

如何使用python 2.7連接到API。我最近試圖使用urllib2.urlopen('帶APIkey的'pastedUrl'),它不起作用。當我嘗試這個時候沒有任何反應它只是凍結。使用python 2.7和urllib2連接到API

import urllib2 
import json 

//api key is not real api key 
locu_api = '12345' 

url = 'https://api.locu.com/v1_0/venue/search/?has_menu=TRUE&locality=Austin&api_key=locu_api' 
json_obj = urllib2.urlopen(url) 

data = json.load(json_obj) 

print data 

*更新15年12月20日 我不想把我的API鍵值中有沒有所以我做了一個名爲「locu_api」變量。但在這裏它是這正是我在我的代碼:

import urllib2 
import json 

locu_api = '6252bab312fd63a8b43f273bbbc5b8ae973d982' 

url = 'https://api.locu.com/v1_0/venue/search/?has_menu=TRUE&locality=Austin&api_key=6252bab312fd63a8b43f273bbbc5b8ae973d982' 
json_obj = urllib2.urlopen(url) 

data = json.load(json_obj) 

print data 
+0

你爲什麼要在這裏發佈一個API密鑰。 _Ever_。 –

+0

我修改了它。這不是真的。 – villaa19

回答

1

與您的代碼的問題是:你不使用你的API密鑰的任何地方,該網址看起來應該像

url = 'https://api.locu.com/v1_0/venue/search/?has_menu=TRUE&locality=Austin&api_key={}'.format(locu_api) 

隨着你的要求你應該得到一個HTTP Error 401。如果你的應用程序真的死機,你的連接有問題

+0

謝謝你的幫助。請參閱更新的代碼。你是否說我需要在我的API密鑰周圍花括號? – villaa19

+0

@ a19i23不,他不是。這是新的格式化語法,按照[PEP 3101](https://www.python.org/dev/peps/pep-3101/)。 –