Получение результатов поиска из Bing Search

Пытаюсь получить результаты поиска, используя следующий код, но постоянно получаю Bad Request.

Вот код.

String BingURL = "https://api.datamarket.azure.com/Bing/Search/v1/News?Query=%27"+ City_Name.replace(" ","%20") +"%27";
            String accountKey = "abcdefghijklmnopqrstuvwxyz";
            HttpClient client = new DefaultHttpClient();
            try
            {
                HttpGet request = new HttpGet(BingURL);
                byte[] accountKeyBytes = Base64.encode((accountKey +":" + accountKey).getBytes(), Base64.DEFAULT);
                String accountKeyEnc = new String(accountKeyBytes);
                request.setHeader("Authorization", "Basic "+accountKeyEnc);
                ResponseHandler<String> responseHandler2 = new BasicResponseHandler();
                String responseBody = client.execute(request, responseHandler2);
                response[0] = responseBody;
                Log.v("Bing Results", responseBody);
            }

            catch(Exception e)
            {
                e.printStackTrace();
            }

Вот вывод Logcat

01-03 16:21:29.294  22763-22891/samarth.learning.http W/System.err﹕ org.apache.http.client.HttpResponseException: Bad Request
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:71)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at org.apache.http.impl.client.BasicResponseHandler.handleResponse(BasicResponseHandler.java:59)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:657)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at samarth.learning.http.MainActivity$MyAsyncTask.doInBackground(MainActivity.java:431)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at samarth.learning.http.MainActivity$MyAsyncTask.doInBackground(MainActivity.java:346)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:287)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:234)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
01-03 16:21:29.304  22763-22891/samarth.learning.http W/System.err﹕ at java.lang.Thread.run(Thread.java:841)

Кто-нибудь может подсказать, что делать?


person Samarth Agarwal    schedule 03.01.2015    source источник
comment
В журнале указано, что это неверный запрос. Проверьте URL-адрес bing.   -  person santosh singh    schedule 03.01.2015
comment
Я вроде это уже знаю.   -  person Samarth Agarwal    schedule 03.01.2015


Ответы (1)


Наконец, у меня сработал следующий код.

byte[] accountKeyBytes = Base64.encode((accountKey + ":" + accountKey).getBytes(), Base64.NO_WRAP);
person Samarth Agarwal    schedule 05.01.2015