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です。それは私のパラメータが間違っていることを示していますが、私は本当に間違っているとは見ません。誰かが間違いを指摘してくれることを願っています。どんな助けでも大歓迎です。