【发布时间】:2013-04-11 09:00:01
【问题描述】:
我有一个文本框在那个用户输入 URL,但是如果想在页面渲染时检查那个 URL,那该怎么办?
这是我的代码:
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();
}
我有这个代码来检查 URL 是否有效,你能告诉我在哪里调用它吗? {如果我也想检查 https 那么我该怎么做呢}
protected bool CheckUrlExists(string url)
{
// If the url does not contain Http. Add it.
// if i want to also check for https how can i do.this code is only for http not https
if (!url.Contains("http://"))
{
url = "http://" + url;
}
try
{
var request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
using (var response = (HttpWebResponse)request.GetResponse())
{
return response.StatusCode == HttpStatusCode.OK;
}
}
catch
{
return false;
}
}
文本框名称为 urltxt
【问题讨论】:
-
还有很多东西要验证,看看这个Python question
-
@oleksii 我已经放了那个正则表达式,但没有检查它是否有效或它是否存在
-
如果您需要知道它是否处于活动状态/存在,您应该访问它。这是唯一的判断方法,即使这样也不能保证(例如,您可能会面临 wifi 访问的付费墙,或代理服务器的 404 页面 - 或者可能存在网络问题阻止您访问您所在的 URL试图访问)