如何使用HttpPost或从本网站获取正文结果?

时间:2012-03-23 11:21:47

标签: android servlets httpwebrequest

我尝试使用外部网站获取数据,但我似乎得到的是该网站的整个Html源代码。事实上,它不处理我传递给它的参数。 该网站是http://www.siirretytnumerot.fi/,如果我将QueryServerlet添加到链接的末尾,我只得到一个简短的链接源代码结构,没有任何结果。我也尝试过同时使用HttpPost和Get。请有人可以告诉我问题是该网站不能用于资源目的吗? 请接受任何建议或意见。 我正在使用的代码就是这个。请注意,我在此代码中包含了try和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 个答案:

答案 0 :(得分:2)

试试这样:

String postURL = "http://www.siirretytnumerot.fi/QueryServerlet";
...
params.add(new BasicNameValuePair("Submit2", "Clear"));
...
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params);