0

HTTP POST を使用して Apache Tomcat サーバーに接続しようとしていますが、サーバーの LOG ファイルにGET /login/validate_doc.jsp HTTP/1.1" 200 685が表示されているのを確認すると、

これは、HttpPost を使用して送信しているときに GET 要求を取得していて、フォーム パラメータがサーバーによって受信されていないことを意味します。

私のコードは以下です:

        HttpPost post_http=null;
        post_http=new HttpPost("http://somexx.ac.in/medONmob/validate_doc.jsp");
        try 
        {

            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);

            nameValuePairs.add(new BasicNameValuePair("username",username));
            nameValuePairs.add(new BasicNameValuePair("password",password));

            post_http.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

どこが間違っていますか...??? 助けてください

4

2 に答える 2

1

UrlEncodedFormEntity を構築するときにエンコーディングを指定してみてください。デフォルトでは ISO-8859-1 です。また、これにより、コードの将来が安全になります

NameValuePairs のリストから UrlEncodedFormEntity を作成すると NullPointerException がスローされる

于 2013-05-04T06:18:19.340 に答える
0

投稿を使用している場合、おそらくリクエスト本文でデータを送信しているはずです。正しい投稿を実行するには、送信するデータのコンテンツタイプをヘッダーで指定する必要があります。 :)。たとえば、リクエスト本文で json を送信する場合は、次のようなヘッダーを追加する必要があります。

request.addHeader("コンテンツタイプ", "テキスト/json");

乾杯

于 2013-05-04T06:40:19.577 に答える