【发布时间】:2017-08-18 09:30:14
【问题描述】:
我想指出,我已经为此搜索了很多但没有解决方案。因此,我创建了一个循环,它将抛出包含链接的 listBox2,每次创建一个 http GET 请求以访问完整的源代码。
我的代码:
private void button4_Click(object sender, EventArgs e)
{
try
{
for (int i = 0; i < listBox2.Items.Count; i++)
{
code(listBox2.Items[i].ToString() + "\'");
//await PutTaskDelay();
//Console.WriteLine(listBox2.Items[i].ToString());
if (VarrileKeeper.s.ToLower().Contains("mysql"))
{
Console.WriteLine("possitive " + listBox2.Items[i].ToString());
}
}
}
catch (Exception Fejl)
{
Console.WriteLine(Fejl);
}
}
public static String code(string Url)
{
System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
myRequest.MaximumAutomaticRedirections = 4;
myRequest.MaximumResponseHeadersLength = 4;
myRequest.Credentials = CredentialCache.DefaultCredentials;
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Dispose();
myResponse.Close();
VarrileKeeper.s = result;
return result;
}
当循环命中各种 url 例如 (http://www.memphremagog.org/fr/lexique.php?id=32) 时会触发以下错误。奇怪的是,如果我删除循环并向该站点发出 http GET 请求,一切正常。
“System.Net.WebException”类型的第一次机会异常发生在 System.dll System.Net.WebException:底层连接是 关闭:发送时发生意外错误。 ---> System.IO.IOException:身份验证失败,因为远程方 已关闭传输流。
我认为证书没有问题,否则当我删除循环时,http://www.memphremagog.org/fr/lexique.php?id=32 上仍然会出现错误。
欢迎提出任何建议。
【问题讨论】:
-
当你调试时,在你的 code() 方法中你传递的字符串是什么?是不是类似于“http://www.memphremagog.org/fr/lexique.php?id=32\'”?确保您传递的 URL 有效
-
代码是否可以在循环中正常工作,并且只是间歇性地失败?还是循环永远不起作用?
-
该 URL 是有效的,否则当我在循环外运行 code() 时它不起作用我已经在循环外手动测试了所有链接,女巫工作没有错误。循环工作正常,直到它点击例如这个 url (memphremagog.org/fr/lexique.php?id=32) 并且当我在循环外使用该 url 运行它时它工作正常。所以对我来说,在我开始循环之前似乎一切正常。是的,它只是间歇性地发生。
-
调试并在遇到错误时检查字符串Url的值。
-
woah woah woah .. 您正在尝试扫描 mysql 注入漏洞,不是吗。
标签: c# authentication stream transport party