C# 如何检查URL是否有效
我有一个文本框在该用户输入的URL,但如果想检查该URL,而网页呈现,然后怎么办 这是我的密码:C# 如何检查URL是否有效,c#,asp.net,C#,Asp.net,我有一个文本框在该用户输入的URL,但如果想检查该URL,而网页呈现,然后怎么办 这是我的密码: protected void btnRender_Click(object sender, EventArgs e) { string strResult = string.Empty; WebResponse objResponse; WebRequest objRequest = System.Net.HttpWebRequest.Create(urltxt.Text);
protected void btnRender_Click(object sender, EventArgs e)
{
string strResult = string.Empty;
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(urltxt.Text);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
sr.Close();
}
strResult = strResult.Replace("<form id='form1' method='post' action=''>", "");
strResult = strResult.Replace("</form>", "");
TextBox1.Text = strResult.Trim();
div.InnerHtml = strResult.Trim();
}
文本框名称为urltxt请尝试此名称(您所需的URI)
按照你的代码
string uriName = urltxt.Text; bool Uriresult = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) && uriName.Scheme == Uri.UriSchemeHttp;
尝试下面的方法,它将帮助您
protected void btnRender_Click(object sender, EventArgs e)
{
if(CheckUrlExists(urltxt.Text))
{
string strResult = string.Empty;
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(urltxt.Text);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
sr.Close();
}
strResult = strResult.Replace("<form id='form1' method='post' action=''>", "");
strResult = strResult.Replace("</form>", "");
TextBox1.Text = strResult.Trim();
div.InnerHtml = strResult.Trim();
}
else
{
MessageBox.Show("Not a Valid URL");
}
}
protectedvoidbtnRender\u单击(对象发送方,事件参数e)
{
if(CheckUrlExists(urltxt.Text))
{
string strResult=string.Empty;
WebResponse-objResponse;
WebRequest objRequest=System.Net.HttpWebRequest.Create(urltxt.Text);
objResponse=objRequest.GetResponse();
使用(StreamReader sr=newstreamreader(objResponse.GetResponseStream())
{
strResult=sr.ReadToEnd();
高级关闭();
}
strResult=strResult.Replace(“,”);
strResult=strResult.Replace(“,”);
TextBox1.Text=strResult.Trim();
div.InnerHtml=strResult.Trim();
}
其他的
{
MessageBox.Show(“不是有效的URL”);
}
}
还有很多东西需要验证,看看这个@oleksii,我放了那个常规表达式,但没有检查它是否有效,是否存在。如果你需要知道它是否处于活动状态/存在,你应该访问它。这是唯一的判断方法,即使这样也不能保证(例如,您可能面临wifi接入的付费墙,或者代理服务器的404页面,或者可能存在网络问题,阻止您访问您试图访问的URL)您能根据我的代码编辑您的代码吗…因为uri名称不存在。请确认string-UrName=urltxt.Text;bool-Uriresult=Uri.TryCreate(uriName、UriKind.Absolute、out-Uriresult)和&uriName.Scheme==Uri.UriSchemeHttp
你能告诉我uriResult在out uriResultthanks Alo bro中是什么吗?…它在工作…….我遇到了问题,请看editWelcome bro:)很乐意帮助…嘿@pandian如果还想检查邮件和https是否有效..我如何在这段代码中做才能检查它是否工作,如果(!url.Contains)(“http://”){url=“http://”+url;}尝试{var request=WebRequest.Create(url)为HttpWebRequest;request.Method=“HEAD”;使用(var response=(HttpWebResponse)request.GetResponse(){return response.StatusCode==HttpStatusCode.OK;}catch{return false;}Pandian如何做…提前感谢兄弟
string uriName = urltxt.Text; bool Uriresult = Uri.TryCreate(uriName, UriKind.Absolute, out uriResult) && uriName.Scheme == Uri.UriSchemeHttp;
protected void btnRender_Click(object sender, EventArgs e)
{
if(CheckUrlExists(urltxt.Text))
{
string strResult = string.Empty;
WebResponse objResponse;
WebRequest objRequest = System.Net.HttpWebRequest.Create(urltxt.Text);
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
sr.Close();
}
strResult = strResult.Replace("<form id='form1' method='post' action=''>", "");
strResult = strResult.Replace("</form>", "");
TextBox1.Text = strResult.Trim();
div.InnerHtml = strResult.Trim();
}
else
{
MessageBox.Show("Not a Valid URL");
}
}