Я пытаюсь использовать API MapQuest. API немного забавный, требующий ввода строки JSON. Когда этот код выполняется, я проверил, что URL-адрес правильный, который натянут вместе, но я никогда не попадаю в оператор Log.v после вызова HTTPGet(url.toString())
. Я провел некоторое исследование и вижу, что это может быть вызвано отсутствием сертификатов, но я использую только http-соединение, а не https. Конечно, после httpGet выполняется больше работы, но я только разместил соответствующий код. Ошибка никогда не возникает, код просто прекращает выполнение за пределами этого. Я использовал по существу тот же код, только несколько разные URL-адреса для анализа других RESTFUL API. Есть предположения?HTTP Get statement останавливается с {в URL
private JSONObject callMapQuestGeoCoder(Location location)
{
String APIkey=decryptKey(MapQuestEncryptedKey);
StringBuilder url=new StringBuilder();
url.append("http://open.mapquestapi.com/geocoding/v1/reverse?key="+APIkey);
url.append("&callback=renderReverse");
url.append("&json={location:{latLng:{lat:"+location.getLatitude());
url.append(",lng:"+location.getLongitude());
url.append("}}}");
HttpGet httpGet = new HttpGet(url.toString());
Log.v(TAG,""+httpGet);
EDIT: За советами, я застрял код в попытке поймать, и получил эту трассировку стеки (Modified только удалить мой ключ API, и немного изменить местоположение). Символ, который недопустим, является символом {
.
10-26 17:42:58.733: E/GeoLoc(19767): Unknown Exception foundjava.lang.IllegalArgumentException: Illegal character in query at index 117: http://open.mapquestapi.com/geocoding/v1/reverse?key=API_KEY&callback=renderReverse&json={location:{latLng:{lat:33.0207687439397,lng:-74.50922234728932}}}
Две вещи, которые я хотел бы проверить: положите попытку поймать все это и посмотрите, попадет ли sth или увидит, если вы столкнулись с проблемой ограничения использования API, описанной на http://stackoverflow.com/questions/16965582/node-js-http-get-hangs-after-5-request-to-remote-site – mico
@mico: Это не ограничения API, я перевел вызов, прежде чем другие произойдут. Однако я нашел исключение, которое нигде не было поймано. Хммм ... Кажется, проблема в том, что {. – PearsonArtPhoto