1

オンライン バンキングの Web サイトにログインして、ユーザーの最新の取引情報をダウンロードするサービスを構築しようとしています。

私は.NET/C#で構築しており、これを行う方法について別の投稿で見ている例に従おうとしています... .NET HTTP POST Method - Cookies issue

しかし、例を機能させることができないようです。

ログインしようとしているサイトは... http://www.communityamericacu.com/

これが私がこれまでに思いついたものです...

public void RetrieveTransactions()
{
    var request = (HttpWebRequest) WebRequest.Create("https://secureaccess.cacu.com/accountlink/SignOn/SignOn.aspx");
    var cookies = new CookieContainer();
    request.CookieContainer = cookies;
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";

    using (var requestStream = request.GetRequestStream())
    {
        using (var writer = new StreamWriter(requestStream))
        {
            writer.Write("user=****&PIN=****&BankFolder=Banking&BrandID=1&BrandFolder=cacu&BrandType=R&screenwidth=&screenheight=&RemoteLogin=N&ExitURL=&UserJavaPlatForm=Win32&UserJavaBrowser=Netscape&UserJavaVersion=5.0+%28Windows+NT+6.1%3B+WOW64%29+AppleWebKit%2F536.11+%28KHTML%2C+like+Gecko%29+Chrome%2F20.0.1132.47+Safari%2F536.11&UserJavaCodeName=Mozilla&UserJavaColorDepth=32&UserJavaColors=4294967296&UserJavaCurrentResolution=1600x900&UserJavaMaxResolution=1600x870&UserJavaEnabled=Yes&UserJavaAAFonts=No&UserJavaPlugins=+Remoting+Viewer+Native+Client+Chrome+PDF+Viewer+Shockwave+Flash+Shockwave+Flash+Adobe+Acrobat+Microsoft+Lync+2010+Meeting+Join+Plug-in+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+Microsoft+Office+2010+Microsoft+Office+2010+Google+Update+NVIDIA+3D+Vision+NVIDIA+3D+VISION+Java%28TM%29+Platform+SE+7+U5+Java+Deployment+Toolkit+7.0.50.255+Shockwave+for+Director+Silverlight+Plug-In+Remoting+Viewer+Native+Client+Chrome+PDF+Viewer+Shockwave+Flash+Shockwave+Flash+Adobe+Acrobat+Microsoft+Lync+2010+Meeting+Join+Plug-in+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+QuickTime+Plug-in+7.7.2+Microsoft+Office+2010+Microsoft+Office+2010+Google+Update+NVIDIA+3D+Vision+NVIDIA+3D+VISION+Java%28TM%29+Platform+SE+7+U5+Java+Deployment+Toolkit+7.0.50.255+Shockwave+for+Director+Silverlight+Plug-In&UserJavaUTCOffset=5");
        }
    }

    using (var responseStream = request.GetResponse().GetResponseStream())
    {
        if (responseStream != null)
        {
            using (var reader = new StreamReader(responseStream))
            {
                var result = reader.ReadToEnd();
            }
        }
    }

}

しかし、これは私が得る応答です...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>@ccountLink Error</title>
</head>
<body>
An error occurred.
</body>
</html>

間違ったユーザー名とパスワードを使用しても、サイトにログインしようとすると、これは得られません。

この時点で、このことはすべて私の頭を少し超えています。私が得ることができるどんな助けも大歓迎です。

4

1 に答える 1

0

おそらく、銀行は User-Agent (つまりブラウザ) などの HTTP リクエストの追加フィールドをチェックし、それらが見つからない場合にエラーが発生するのでしょうか? 少なくともユーザー エージェントを追加してみてください (リンク先の質問に例があります)。他のフィールドも追加する必要があるかもしれません。ここで完全なリストを見ることができますhttp://en.wikipedia.org/wiki/List_of_HTTP_header_fields

于 2012-07-06T14:56:28.173 に答える