Как я могу использовать HttpPost или получить результат тела с этого сайта? - PullRequest
1 голос
/ 23 марта 2012

Я пытаюсь использовать внешний веб-сайт для получения данных, но мне кажется, что я получил весь исходный HTML-код для веб-сайта. Infact он не обрабатывает параметры, которые я передаю ему. Веб-сайт http://www.siirretytnumerot.fi/, и если я добавлю QueryServerlet в конец ссылки, я просто получу краткую структуру исходного кода для ссылки без какого-либо результата. Я также попытался использовать HttpPost и Get все еще один и тот же. Пожалуйста, кто-то может сказать мне, что проблема в том, что веб-сайт не может быть использован для целей ресурсов? Пожалуйста, я приму любые советы или предложения. Код, который я использую это. И обратите внимание, у меня есть предложение try and catch, окружающее этот код.

HttpClient client = new DefaultHttpClient(); 

        String postURL = "http://www.siirretytnumerot.fi/";//if I add QueryServlet to the end it just gives a response with the html structure
       BufferedReader in=null;
       String data=null;
        HttpPost post = new HttpPost(postURL); 


            List<NameValuePair> params = new ArrayList<NameValuePair>();

            params.add(new BasicNameValuePair("PREFIX", "044"));
            params.add(new BasicNameValuePair("NUMBER", "9782231"));
           params.add(new BasicNameValuePair("LANGUAGE", "English"));
          params.add(new BasicNameValuePair("Submit", "Search"));

            UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);

            post.setEntity(ent);
            HttpResponse responsePOST = client.execute(post);


            in=new BufferedReader(new InputStreamReader(responsePOST.getEntity().getContent()));    
            StringBuffer sb=new StringBuffer("");
            String l="";
            String nl=System.getProperty("line.separator");
            while((l=in.readLine())!=null){
                sb.append(l+nl);
            }
            in.close();
            data=sb.toString();
            list.add(data);
            datalist=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
            ml.setAdapter(datalist);

Это вывод, который я получаю из ответа

<img src="QueryServlet?ID=457016727131196340&amp;STRING=QIHfqzk16uj6adStbdzyaqMjYwaokhP1Zq1Tlz%2BjL4YQ7tRne4RdxwCcvcJKiZWvvsTXcpqHxcDplE9LVExKGg==" />

1 Ответ

2 голосов
/ 23 марта 2012

Попробуй так:

String postURL = "http://www.siirretytnumerot.fi/QueryServerlet";
...
params.add(new BasicNameValuePair("Submit2", "Clear"));
...
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...