尝试确定某个站点是否被我的代理阻止

时间:2018-08-21 21:12:16

标签: httpwebrequest uri webrequest whitelist proxy-server

我的公司已责成我使用白名单创建 GCSE ,以帮助确定问题的答案,因为我们的形式是咨询客户故障排除。但是,他们给我的白名单并不是说的完全是白名单。我在白名单上有354个域,但是使用 Response.GetStatus()时,所有域都返回OK状态(即使我自己编写了URL,它仍然返回200)。我尝试启用重定向到true,并使用 ResponseUri.AbsoluteUri from获取完整的重定向路径,以确保网站可访问。

我尝试使用ping,但后来意识到这仅与网络堆栈相关,并尝试解析dns以获取服务器名称,希望代理可以阻止它。但是问题是,它将返回一个dns,但这并不能告诉我它是否被代理服务器阻止。

我通常会收到诸如无法解析的dns,找不到的dns,被代理阻止或重定向阻止报告的内容。但是这些都是返回true的状态,因此并没有帮助。

另一个问题是,不知道给我的URL是HTTP还是HTTPS。我对C#的使用太多了,无论使用什么条件,我都无法获得一个肯定的结果。我已经使用了MSDN提供的通用代码并对其进行了修改,但是当我回到家时,直到上班之前我才能真正对其进行测试。

然后,我开始使用 WebRequest 下载页面,并查看标题是否包含一条信息,例如<< strong> head >或<< strong> body < / strong >>,但我不能依靠它,因为它不可靠,并且下载354个站点的网页 WebRequest 效率不高。

我想我想说的是,我将如何使用SSL而不是受保护的URL进行检索,并找到重定向,未找到,dns_unresolved或301,而不依赖于每个页面的状态200,尤其是对于我把一个伪造的神秘网站放到列表中?

是否有一种方法可以实际验证URL是否可以通过代理访问,而不是针对WebRequest,Uri.Scheme或HttpWebRequest进行测试,或者获取ResponseUri.AbsoluteUri?

0 个答案:

没有答案