3

Web サーバーから html ファイルをダウンロードする必要があります。しかし、これを行うには、Web サイトにログインする必要があります。ログインフォームはiframeに配置されており、許可されておらず、直接アクセスすることもできないようです.(->no POST)

そのため、JavaScript を使用してフォームに入力し、アプリ内で自動的に送信します。しかし今、このファイルをバックグラウンドで (サービスとして) ダウンロードする必要があります。残念ながら、サービスには UI がないため、以前のように Web ビューを使用できないようです。

ここに私の質問があります: サービス内で webview を使用することは可能ですか? JavaScript を使用して Web サイトと対話する方法はありますか? または、ウェブサイトに自動的にログインする他の可能性はありますか?

ウェブサイトは次のとおりです

どんな助けでも感謝します。

4

2 に答える 2

2

「weiter」ボタン (これは「Submit」ボタンだと思います) を押したときに何も欠落していない場合は、次のようになります。

POST /DSBlightWebsite/(S(jlbbytzvocksc4v2i30gtjli))/Homepage/IFrame.aspx?ID=b4457c67-24a2-446f-af41-810fba7f723d&Width=937&Height=530&MyDate=0 HTTP/1.1
Host: light.dsbcontrol.de
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://light.dsbcontrol.de/DSBlightWebsite/(S(jlbbytzvocksc4v2i30gtjli))/Homepage/IFrame.aspx?ID=b4457c67-24a2-446f-af41-810fba7f723d&Width=937&Height=530&MyDate=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 273

__VIEWSTATE=%2FwEPDwULLTEwODU4OTkxMzRkZGl5uRxMYz320dUnYalV0rRm4KBLu%2F%2FmncdSoRUaM2Cr&__EVENTVALIDATION=%2FwEWBALArNzjCQK10rnVAQLLus%2B1BQLpvY%2BZD1oB3Xt3JbIIPV05vCoiVbXiTq5FzSyFDPswYprWZto4&ctl02%24txtBenutzername=sdfasf&ctl02%24txtPasswort=asfsad&ctl02%24btnLogin=weiter

ご覧のとおり、これは一連のパラメーターを使用したapplication/x-www-form-urlencodedPOSTです。light.dsbcontrol.de/DSBlightWebsite/(S(jlbbytzvocksc4v2i30gtjli))/Homepage/IFrame.aspx?ID=b4457c67-24a2-446f-af41-810fba7f723d&Width=937&Height=530&MyDate=0

__VIEWSTATE=/wEPDwULLTEwODU4OTkxMzRkZGl5uRxMYz320dUnYalV0rRm4KBLu//mncdSoRUaM2Cr
__EVENTVALIDATION=/wEWBALArNzjCQK10rnVAQLLus+1BQLpvY+ZD1oB3Xt3JbIIPV05vCoiVbXiTq5FzSyFDPswYprWZto4
ctl02$txtBenutzername=sdfasf
ctl02$txtPasswort=asfsad
ctl02$btnLogin=weiter

したがって、JavaScript/WebView を使用しなくても、HttpClient を使用してそのような POST を直接作成できると思います。代わりに params を使用する必要があります。ただし、一部のパラメーターの意味が不明な場合があることは認識していますが、それは Web API ドキュメントで説明されている可能性があります。Web API ドキュメントがない場合、これらのパラメーターとして渡す値がわからないため、そのようなアプローチは機能しない可能性があると思われます。

于 2012-06-13T22:32:56.483 に答える
0

そのファイルにアクセスする必要がある場合は、認証ヘッダーが必要になると思います。このスレッドは、Android でフォーム ベースの認証を行う方法に役立つ場合があります: Android - フォーム ベースの認証

于 2012-06-13T22:32:12.433 に答える