所以我有这段代码:
partial void runflooder (Foundation.NSObject sender) {
string[] links;
{
links = new string[amount];
for (int i = 0; i < links.Length; i++)
{
email = $"ghoulrotmg{RandomString(10)}@gmail.com";
links[i] = "http://" + serverIP
+ ":" + serverPort + "/account/register?isAgeVerified=1&entrytag=&ignore=77240&newPassword=ghoulrotmg&newGUID="
+ email + "&guid=597BFBCFA0E1C4195FD6E8392557CD960361878D%22";
generateaccountsprogress.MaxValue = amount;
generateaccountsprogress.IncrementBy(amount);
}
runflooderlabel.StringValue = string.Format("App is running.");
runflooderlabel.TextColor = NSColor.SystemGreenColor;
for (int i = 0; i < links.Length; i++) {
WebRequest request = WebRequest.Create(links[i]);
}
progress.MaxValue = amount;
progress.IncrementBy(amount);
}
}
我想做的是生成链接。 然后,我希望该应用程序访问那些已创建的链接。但是,它没有向该网站发出任何请求。生成的链接很好,并且经过测试可以正常工作(我将它们写到文件中并且可以工作)。错误显然在这里:
for (int i = 0; i < links.Length; i++) {
WebRequest request = WebRequest.Create(links[i]);
}
有人可以帮我解决这个问题。
答案 0 :(得分:4)
您正在创建WebRequest
;您必须致电.GetResponse()
才能真正提出请求。
请注意,除非需要使用NET 3.5或更低版本,否则使用HttpClient
是更现代且可以说非常容易的方法。
答案 1 :(得分:0)
谢谢大家,我解决了这个问题。
我的代码缺少GetResponse()
。
这是我的做法:
for (int i = 0; i < links.Length; i++)
{
var request = WebRequest.Create(links[i]);
var response = (HttpWebResponse)request.GetResponse();
var dataStream = response.GetResponseStream();
var reader = new StreamReader(dataStream);
var responseFromServer = reader.ReadToEnd();
Console.WriteLine (responseFromServer);
reader.Close();
dataStream.Close();
response.Close();
}
大多数直接来自Microsoft文档。