Я хочу использовать Google Language Detection API в своем приложении, чтобы определить язык параметра url. Например, пользовательские запросы urlКак декодировать строку для использования с API обнаружения Google Language?
http://myapp.com/q ?Это тест
и получает сообщение «Русский». Я делаю это так:
def get(self):
url = "http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q="+self.request.query
try:
data = json.loads(urllib2.urlopen(url).read())
self.response.out.write('<html><body>' + data["responseData"]["language"] +'</body></html>')
except urllib2.HTTPError, e:
self.response.out.write("HTTP error: %d" % e.code)
except urllib2.URLError, e:
self.response.out.write("Network error: %s" % e.reason.args[1])
но всегда получаю «английский язык», как результат, потому что URL кодируется в
Я попытался urllib.quote , urllib.urlencode
не повезло.
Как мне декодировать этот url для Google Api?
Выглядит хорошо, когда я пытаюсь его распечатать, но когда я отправляю его в Google, это исключает исключение: UnicodeEncodeError: кодек ascii не может кодировать символы в позиции –
Вы должны передать 'recoded' на' urllib. quote', чтобы получить представление, которое можно смело добавить к URL-адресу API Google Language. Я изменяю свой пример, чтобы показать это. –