繁体   English   中英

如何模拟来自Extranet的Web请求? (C#)

[英]How do I simulate a web request from an extranet? (C#)

我正在测试以验证我们面向公众的网站是否正常运行。 为此,我运行了一段代码以创建HttpWebRequest 我如何模拟成为组织内部网之外的用户? 有没有办法可以在状态的另一端指定用户? 我会在标题中添加其他信息吗?

private async Task RunURLRequestAsync(string input)
{
    string methodName = Utils.getCurrentMethod();
    Log("In:  " + methodName);
    try
    {
        var client = new HttpClient();
        var uri = new Uri(input);
        Log("URI is " + uri.ToString());
        HttpWebRequest webrequest = (HttpWebRequest)HttpWebRequest.Create(uri);
        webrequest.CookieContainer = new CookieContainer();
        webrequest.Method = "GET";
        webrequest.Timeout = 2000;
        HttpWebResponse response = (HttpWebResponse) webrequest.GetResponse();
        pageStatusCode = response.StatusCode.ToString();
        pageStatusDescription = response.StatusDescription.ToString();
        if (response.StatusCode == HttpStatusCode.Unauthorized)
        {
            pageStatusCode = "401 Unauthorized";
        }
        using (Stream stream = response.GetResponseStream())
        {
            StreamReader reader = new StreamReader(stream);
            string result = reader.ReadToEnd();
            Log("Web Page Contents: " + result);

        }
    }
    catch(Exception exc)
    {
        if(exc.Message.Contains("Unauthorized"))
        {
            pageStatusCode = "401";
            pageStatusDescription = "Unauthorized (Expected)";
            return;
        }
        else
        {
            Log(exc.Message);
            Log(exc.StackTrace);
        }
    }

}

我会使用Selenium编写自动化测试。 John Sonmez在Pluralsight方面有很好的入门课程。 或者,您可以从此处开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM