[英]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.