gpt4 book ai didi

c# - 使用 C# 检查 URL 是否存在

转载 作者:太空宇宙 更新时间:2023-11-03 19:18:21 25 4
gpt4 key购买 nike

我一直在尝试找出提供的 URL 是否可用。可用并不意味着域可用性,我的意思是 URL 可访问或不可访问

我已经测试过代码

var webrequest = (HttpWebRequest)WebRequest.Create(
"http://localhost:64519/TestPage.aspx");
webrequest.Method = "HEAD";
HttpWebResponse response = webrequest.GetResponse() as HttpWebResponse;

测试页的页面加载有一些代码

protected void Page_Load(object sender, EventArgs e)
{
StreamReader stream = new StreamReader(Request.InputStream);
XDocument xmlInput = XDocument.Load(stream);
}

现在的问题是,即使我在请求中添加了 HEAD,它也会进入 PageLoad 并抛出异常。

场景:我一直在尝试将 XML 发送到提供的 URL。在 XML 情况下它工作正常但是当我尝试检查链接是否存在时它会抛出异常因为 XDocument.Load(stream);没有 XML\我当然可以通过使用

来解决问题
if (stream.BaseStream.Length != 0)
{
XDocument xmlInput = XDocument.Load(stream);
}

但它不合适。我只想知道链接是否有效,基于我的研究只是添加标题,但即使添加标题,我的问题仍然存在

所以请有人可以帮助我解决这个问题,或者任何形式的帮助将不胜感激

最佳答案

您可以使用 HttpWebRequestHttpWebResponse类并将请求的方法设置为“HEAD”。

List of other possible Methods.

var request = (HttpWebRequest)WebRequest.Create("http://localhost:64519/TestPage.aspx");
request.Method = "HEAD";

var response = (HttpWebResponse)request.GetResponse();

var success = response.StatusCode == HttpStatusCode.OK;

关于c# - 使用 C# 检查 URL 是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14378326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com