1

私は自分で問題を解決することに慣れていますが、今回は本当に行き詰まっています。誰かが私に手がかりを与えることができれば素晴らしいでしょう.

問題: 私の Android アプリケーションは、「ヘッダー」php 関数を使用して別のスクリプト (script2.php など) をリダイレクトする php スクリプト (script1.php など) を呼び出します。

ブラウザでhttp://xxxxxx.com/script1.php?param1=y¶m2=y2¶m3=y3を実行すると問題なく動作しますが、アプリケーションが次のコードを実行するとクラッシュします。

    nameValuePairs.add(new BasicNameValuePair("param1",param1));
    nameValuePairs.add(new BasicNameValuePair("param2",param2));
    nameValuePairs.add(new BasicNameValuePair("param3",param3));;


    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://xxxxxx.com/script1.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        Log.v("println", "response: "+response);
    }catch(Exception e1){
        Log.e("log_tag","Error in http connection"+e1.toString());
    }

私はすべてをチェックしました。Script1.php は Android アプリから適切なパラメーターを取得しますが、それは org.apache.http.client.ClientProtocolException をスローします

4

2 に答える 2

0

問題は PHP スクリプトにある可能性があります。スクリプトがリクエストを post または request メソッドとして受け付けていることを確認してください。

于 2012-08-08T06:28:24.440 に答える
0

これはうまくいくはずです

nameValuePairs.add(new BasicNameValuePair("param1",param1));
nameValuePairs.add(new BasicNameValuePair("param2",param2));
nameValuePairs.add(new BasicNameValuePair("param3",param3));;


try{
    HttpParams httpParams=new BasicHttpParams();
    HttpClient httpclient = new DefaultHttpClient(httpParams);
    HttpPost httppost = new HttpPost("http://xxxxxx.com/script1.php");
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    HttpResponse response = httpclient.execute(httppost);
    Log.v("println", "response: "+response);
}catch(Exception e1){
    Log.e("log_tag","Error in http connection"+e1.toString());
}
于 2014-01-07T19:49:20.947 に答える