2012-04-12 7 views
0

http:///Default.aspxにフォームを投稿できるようにする必要があります。私は私が渡す必要があると考えられるパラメータの可能な組み合わせのすべてを考えてみましたが、私は成功しませんでした。http投稿が通過していない、パラメータが不足しているとは思わない

私はアンドロイドコードで投稿できるようにしたいと思っていますが、それ以上では私が投稿用に作成するリクエストに問題があると感じています。ここでは、フォームを投稿しようとした私のコードは次のとおりです。私は、コードを実行

private void Post() { 
    // TODO Auto-generated method stub 
    // Create a new HttpClient and Post Header 

    HttpParams params = new BasicHttpParams(); 
    params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); 

    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://customer.chuckwilson.com/Default.aspx"); 
    httppost.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"); 
    httppost.setHeader("Content-Type", "application/x-www-form-urlencoded"); 
    httppost.setHeader("Accept-Charset", "utf-8"); 
    try { 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 

     nameValuePairs.add(new BasicNameValuePair("__VIEWSTATE", "<state value>")); 
     nameValuePairs.add(new BasicNameValuePair("__EVENTVALIDATION", "<Event validation value>")); 

     nameValuePairs.add(new BasicNameValuePair("txtEmailAddress", "[email protected]")); 

     nameValuePairs.add(new BasicNameValuePair("txtStreetAddress", "streetandroid")); 
     nameValuePairs.add(new BasicNameValuePair("txtZipCode", "5454")); 
     nameValuePairs.add(new BasicNameValuePair("txtCity", "cityandroid")); 
     nameValuePairs.add(new BasicNameValuePair("CallBack", "rdCallBackYes")); 
     nameValuePairs.add(new BasicNameValuePair("txtLastName", "lastandroid")); 
     nameValuePairs.add(new BasicNameValuePair("phone", "(111) 111-1111")); 

     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     HttpResponse response = httpclient.execute(httppost); 
     Log.d(getPackageName(), "executed http post req"); 
     HttpEntity resEntity = response.getEntity(); 
     if (resEntity != null) {  
      Log.i("RESPONSE",EntityUtils.toString(resEntity)); 
     } 
    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
     Log.e(getPackageName(), "error1 in req"); 
     e.printStackTrace(); 
    } catch (IOException e) { 
       // TODO Auto-generated catch block 
     Log.e(getPackageName(), "error2 in req"); 
     e.printStackTrace(); 
    } 
} 

毎回、私が得る応答は、そのフォームのHTMLです。それは私のパラメータが間違っていることを示していますが、私は本当に間違っているとは見ません。誰かが間違いを指摘してくれることを願っています。どんな助けでも大歓迎です。

答えて

0

あなたがにリンクページ内のフォームは、このHTMLタグで定義されています

<form name="form1" method="post" action="Default.aspx" id="form1" enctype="multipart/form-data"> 

「のenctypeは、」それはあなたが生産されているURLエンコードされたフォームの送信を使用しますが、MIMEマルチパートではないことを意味します通常はファイルのアップロードに使用されるプロトコルです。

このタイプのフォームを使用する方法を示すこのブログの記事をご覧ください。http://blog.tacticalnuclearstrike.com/2010/01/using-multipartentity-in-android-applications/

関連する問題