0

我正在尝试为SAP WebUI. 因此,我必须使用 C# 程序中的不同用户多次登录。HTTP 流量将由fidllercore.dll.

现在,我的问题是即使经过两天的研究,我也无法自动登录 SAP WebUI。如果我通过打开链接HttpWebRequest并提交我的用户名和密码,则响应流仅包含 LogOn-Html。

我记得应该有办法通过 登录SSO2-Cookies,但我找不到任何关于此的特别信息。这与我所做的非常接近:Login to website, via 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

终于找到了这个

我必须使用参数执行 GET-Request &sap-user=****&sap-password=***。以正确的顺序设置它们很重要,正如您在上面的链接中看到的那样。

谢谢!

编辑:由于 SAP-CRM-WEB-UI 在同一个请求中发送重定向和 Cookie,并且 HttpWebRequest 忽略这些 Cookie 进行重定向,因此您必须逐年处理此问题(如此处所述

于 2014-01-28T11:29:52.517 回答