0

のちょっとした「パフォーマンステスト」をしようとしていますSAP WebUI。したがって、C# プログラムから別のユーザーで数回サインインする必要があります。HTTP トラフィックは によって追跡されfidllercore.dllます。

さて、私の問題は、2日間の調査の後でも、SAP WebUIに自動的にサインインできないことです. 経由でリンクを開いHttpWebRequestてユーザー名とパスワードを送信すると、応答ストリームには LogOn-Html のみが含まれます。

経由でサインインする方法があるはずだと思いますがSSO2-Cookies、これについては特に何も見つかりませんでした。それは私がまだやったことにかなり近いです:C#経由でウェブサイトにログイン

Request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), Request);

private static void GetRequestStreamCallback(IAsyncResult result)
{
    if (result != null)
    {
        //Removed password from code!
        String data = "&sap-user=******&sap-password=**********";
        HttpWebRequest request = (HttpWebRequest)result.AsyncState;

        // End the operation
        System.IO.Stream newStream = request.EndGetRequestStream(result);

        // Convert the string into a byte array.
        byte[] dataStream = Encoding.UTF8.GetBytes(data);

        // Write to the request stream.
        newStream.Write(dataStream, 0, dataStream.Length);
        newStream.Close();

        //Thread.Sleep(5000);
        request.BeginGetResponse(new AsyncCallback(FinishWebRequest), request);
    }
}
4

1 に答える 1

0

最後にこれを見つけました

parameters を使用して GET-Request を実行する必要がありました&sap-user=****&sap-password=***。上記のリンクをたどるとわかるように、正しい順序で設定することが重要です。

ありがとう!

編集: SAP-CRM-WEB-UI はリダイレクトと Cookie をすべて同じ要求で送信し、HttpWebRequest はリダイレクトのためにこれらの Cookie を無視するため、これを手動で処理する必要があります (ここで説明したように)。

于 2014-01-28T11:29:52.517 に答える