5

HttpClient を使用してhttp://www.pgu.donland.ru/php/Login.phpに投稿リクエストを送信していますが、次のような応答を取得したいと考えています。

<?xml version="1.0" encoding="utf-8"?><resp status="1" uD="John" UID="2" e=""/>

残念ながら、私は取得し続けます:

<?xml version="1.0" encoding="utf-8"?> <resp status="1" uD="" UID="" e=""/>

ここで何が起きてるの?

HttpClient クライアント フィールドを含むカスタム クラスを使用しており、コンストラクターでこれらの設定を使用しています。

SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme("http", PlainSocketFactory
                                    .getSocketFactory(), 80));
    schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(),
                                    443));

    HttpParams params = new BasicHttpParams();
    params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 30);
    params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE,
                                    new ConnPerRouteBean(30));
    params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
    params.setParameter("http.socket.timeout", timeout * 1000);
    params.setParameter("http.connection.timeout", timeout * 1000);
    // params.setParameter("http.connection-manager.timeout", new
    // Long(timeout * 1000));
    params.setParameter("http.protocol.head-body-timeout", timeout * 1000);
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);

    ClientConnectionManager cm = new SingleClientConnManager(params,
                                    schemeRegistry);
    this.client = new DefaultHttpClient(cm, params);

ご協力いただきありがとうございます。

4

2 に答える 2

2

問題はサーバー側にあります。Login.php コードを確認します。

于 2012-12-07T15:23:17.917 に答える
0

まあ、ロシア語はイタリア人にとって最も簡単な言語ではありませんが...クライアントからユーザー名/パスワード(またはユーザーキー)として受信した後、uDおよびUIDパラメーターがサーバーによってエコーされるようです。おそらく、ユーザーIDまたはユーザー名とパスワードのペアをサーバーに送信していないため、期待どおりに応答できません。

于 2012-12-07T15:24:50.460 に答える