4

Web ページにログインしてレポートを取得するスクリプトを作成しようとしています。

HTTP/1.1 302 MovedTemporarily
Date: Mon, 22 Jun 2009 13:22:04 GMT
Server: Server
x-some-id-1: 0J3X3VBBCGNJG9V46G5D
x-some-id-2: BtQ4SsDhbryWgiVNFcVpMbt898GuPIBaWuGwAWjvsyI=
Set-cookie: session-id-time=1246258800l; path=/; domain=.example.com; expires=Mon Jun 29 07:00:00 2009 GMT
Set-cookie: session-id=179-5933843-4704124; path=/; domain=. example.com; expires=Mon Jun 29 07:00:00 2009 GMT
Location: https://example.com
Vary: Accept-Encoding,User-Agent
nnCoection: close
Content-Type: text/html; charset=UTF-8
Content-Length: 0

応答と私はそれを止める方法がわかりません。設定を試してみました

httpwebrequest.allowautoredirect 「True」と「False」の両方があり、何も役に立ちません。

https://経由でウェブサイトにログインできるので、私は夢中になっていますが、これが返されますか?

4

2 に答える 2

4

私は長い間この問題に悩まされていました-私が助けることができてうれしいです。この記事を読む

http://www.byteblocks.com/page/How-to-submit-requests-to-web-sites-programatically-using-HttpWebRequest.aspx

重要な問題は、自動リダイレクトが有効になっているHttpWebRequestを使用して、302とCookieを含むログインプロセスを実行できないことです。これは、プロセス全体が終了するまでCookieが設定されないためです。

解決策は、自動リダイレクトを無効にし、ログインプロセス全体を段階的に手動で実装することです(302リダイレクト応答の「Location」ヘッダーと「Set-cookie」ヘッダーを取得し、これらをに渡します必要に応じて連続するステップ)。

Cookieコンテナは、途中ですべてのCookieを取得し、最後に送信する必要があります。あなたが302を手に入れているなら-あなたはなぜあなたがログインページに行き着くのか疑問に思って壁に頭をぶつけているでしょう。

于 2009-06-22T16:24:39.770 に答える