2012-03-22 1 views
1

私のアンドロイドアプリケーションでは、外部のウェブサイトhttp://www.siirretytnumerot.fi/を使用します。このウェブサイトには、PREFIXとNUMBERという2つの値があります。私はテキストビューで何の出力も得られていないように見えるので、今は混乱しています。私はhttpgetかhttppostのどちらを使うべきかを知らない。私は両方を試みましたが、まだ結果はありません。しかし、私がエクスプローラのリンクに行き、入力を入力すると、ウェブサイトの行はhttp://www.siirretytnumerot.fi/QueryServletに変わります。私はまだ両方の出力を使用しようとしました。 誰かが私にウェブサイトを見て、どのhttpメソッドが正しいかを教えてもらえますか? ここに私が使用したコードがあります。アンドロイドでHttpを使ってウェブサイトから結果を得るには

TextView tv=(TextView)findViewById(R.id.display); 
    try { 
    HttpClient client = new DefaultHttpClient(); 
    String postURL = "http://www.siirretytnumerot.fi/"; 
    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", "Finnish")); 
     params.add(new BasicNameValuePair("Submit", "Hae")); 
     UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8); 
     post.setEntity(ent); 
     HttpResponse responsePOST = client.execute(post); 
     HttpEntity resEntity = responsePOST.getEntity(); 
     if (resEntity != null) {  
      tv.setText(EntityUtils.toString(resEntity)); 
     } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

リンクからの出力は、今、私はこれを読んでくださいどのようにイメージソース

<img src="QueryServlet?ID=-7187780920186056107&amp;STRING=5WQAy%2BQCUZRGIUJ8qZtpSrmkiKzWp8HRL7Ti1xmFSxMAEZE7GHEtaylOApMGd9qoesY7Pl%2BUN1Z6Kzap9RIg%2Bw==" /> 

として出てきますか?

答えて

1

ブラウザの開発ツールを使用して、必要なフィールドを確認します。

あなたはあなたの要求にこれらのフィールドを追加してみhttp://www.siirretytnumerot.fi/QueryServlet

POSTリクエストを行う必要があります

​​

私はそれが

EDIT

Itを助けいただければ幸いますそのように見える

TextView tv=(TextView)findViewById(R.id.display); 
    try { 
    HttpClient client = new DefaultHttpClient(); 
    String postURL = "http://www.siirretytnumerot.fi/"; 
    HttpPost post = new HttpPost(postURL); 
     List<NameValuePair> params = new ArrayList<NameValuePair>(); 
     params.add(new BasicNameValuePair("PREFIX", "044")); 
     params.add(new BasicNameValuePair("NUMBER", "9782231")); 

     //here the new lines 
     params.add(new BasicNameValuePair("LANGUAGE", "Finnish")); 
     params.add(new BasicNameValuePair("Submit", "Hae")); 

     UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8); 
     post.setEntity(ent); 
     HttpResponse responsePOST = client.execute(post); 
     HttpEntity resEntity = responsePOST.getEntity(); 
     if (resEntity != null) {  
      tv.setText(EntityUtils.toString(resEntity)); 
     } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

を使用している場合がありますように、あなたが応答感謝のために、あまりにもそのフィールドを追加するために行

<input type="hidden" name="LANGUAGE" value="Finnish"> 

があるを必要とするが、コードを編集して行を追加することができますので、私は何をしたいのか分かります。 –

+0

@net_whiz、コード –

+0

を追加しました。私のテキストビューにコードはまだ出力されていません。何が間違っていますか? –

1

あなたはソースを表示することができ、彼らはit.So

params.add(new BasicNameValuePair("LANGUAGE", "Finnish")); 
+0

ありがとうございますが、コードを編集してもテキストビューに出力されません。何が間違っていますか? –

+0

私はおそらくresEntityをtextview.Isに入れる前にテキストとしてチェックすることから始めます。NetworkOnMainThreadの例外はありますか? – Sankalp

+0

これは表示されていますが、ソースコードは何ですか。データを入力した後にウェブサイトをチェックすると、出力はimg src:の形式になります –

関連する問題