2016-04-25 17 views
1

私は、接続を作成しようとすると、それは java.net.ProtocolExceptionとして例外をスローし、URLからJSONデータを解析しようとしている:応答がアンドロイドでHttpUrlConnectionクラスを使用してURLにCookieを追加する方法は?

を読まれた後、リクエストボディを書き込むことができない私は応答メッセージをとしました。見つからないです。

ウェブブラウザでurlを確認したところ、資格情報を使用してログインするとJsonデータが表示されます。

私は接続にクッキーを追加する必要があることがわかりましたが、これを行う方法はわかりません。

public void parseData(String cookie){ 
    HttpUrlConnection connection; 

    try{ 
    URL url = new URL(params[0]); 
        connection = (HttpURLConnection) url.openConnection(); 

        connection.setRequestProperty("Cookie", cookie); 
        Log.e(TAG, "cookie " + cookie); 

        connection.setDoOutput(true); 
        connection.setDoInput(true); 
        connection.setRequestMethod("GET"); 

        connection.connect(); 
Log.e(TAG,connection.getResponseMessage()); 

    /** 
    here i'm trying to parse the data 
    using BufferedReader calss 
    **/ 

    } 
    catch(IOException e){} 
    } 

私は接続にクッキーを追加する必要があります。 これを手伝ってください。

+0

可能:単に呼び出す私たちはクッキーのプロパティを追加しているためのURLConnection 上)(接続、クッキーに送信するには重複:http://stackoverflow.com/a/16171708/4310784 –

+0

私はあまりにもその方法を試みた。しかし、私は "java.net.ProtocolException:応答が読み込まれた後に要求の本文を書くことができない"という例外があります。なぜこの例外がスローされるのか教えてください。 @モハマドZ – Madhan

+0

@マダム:申し訳ありませんが、私は間違っていたと私の答えを削除しました。 – Tigger

答えて

1

this link によると、あなたがこれを行うことができます:

値が前にconnectメソッドを呼び出すように設定する必要があります

URL myUrl = new URL("http://www.hccp.org/cookieTest.jsp"); 
URLConnection urlConn = myUrl.openConnection(); 

クッキー文字列を作成します。

String myCookie = "userId=igbrown"; 

リクエストにクッキーを追加します。 setRequestProperty(String name、String value);を使用します。メソッドの前に、 プロパティを「Cookie」という名前で追加し、前のステップ で作成したCookie文字列をプロパティ値として渡します。

urlConn.setRequestProperty("Cookie", myCookie); 

サーバにクッキーを送信:

urlConn.connect() 
+0

実際に私はあなたの答えと同じことをしていますが、それは私の質問と404として応答コードに言及例外をスローします。 – Madhan

関連する問題