私のAndroidアプリでは、ログインが必要なサイトからファイルをダウンロードする必要があります。基本的なHTTP認証ではなく、むしろエミュレーションを形成します。HttpURLConnectionを使用してログインしてファイルをダウンロードするには
は、Androidに新たなので、私は本当に開始する方法を知りませんが、PHPでそれはカールと簡単です:
// Set standard options
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, "somecookiejar");
curl_setopt($ch, CURLOPT_COOKIEFILE, "somecookiefile");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Login
curl_setopt($ch, CURLOPT_URL, "https://example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=myusername&password=mypassword");
curl_exec($ch);
// Get the file
curl_setopt($ch, CURLOPT_URL, "http://example.com/files/myfile.mp3");
curl_setopt($ch, CURLOPT_POST, 0);
writefile(curl_exec($ch), "myfile.mp3");
curl_close($ch);
私は、これはAndroidの中で行われ得ることで任意の助けをいただければ幸いです。
注:私は、件名にHttpURLConnectionのは言うまでもなく、他の提案はもちろん歓迎以上です:)
編集:私は、私は少しを明確にすべきだと思います。ログインフォームへの最初の要求では、ユーザー名とパスワードが設定されます。サーバは、実際のファイルのダウンロードが行われる第2の要求に引き渡されるクッキーのセットを返す。このコードは実際にはPHPの実例です(匿名化されていますが)。私の具体的な問題はリクエスト間のクッキーを処理することです。 cUrlでは、このクッキーはすべて自動的に発生します。 ありがとう!
ご迷惑をおかけして申し訳ございません。 –