2010-01-05 70 views
1

我有一个链接。我已通过正则表达式检查链接是否是有效的URL。现在,我想检查链接是否是有效的http链接。即它不应该是一个不存在的链接。 在VC++ 6.0(MFC)中有没有办法检查?如何在VC++中检查链接是否存在?

+0

你的意思是,如果它实际上规定了向上和运行服务器和检索资源? – wallyk 2010-01-05 06:01:45

回答

3

一种方法是尝试使用URLOpenBlockingStream function从该URL获取数据。

例子:

IStream* pStream = NULL; 
if (SUCCEEDED(URLOpenBlockingStream(0, "URL string", &pStream, 0, 0))) { 
    // Release the stream immediately since we don't use the data. 
    pStream->Release(); 
    return TRUE; 
} 
else { 
    return FALSE; 
} 
+0

非常感谢。它帮助了我很多 – 2010-01-08 17:26:38

+0

[URLOpenBlockingStream](https://msdn.microsoft.com/en-us/library/ms775127.aspx)具有返回值,应该使用[成功]( https://msdn.microsoft.com/en-us/library/windows/desktop/ms687197.aspx)或[FAILED](https://msdn.microsoft.com/en-us/library/windows/desktop/ms693474 .aspx)宏。 – IInspectable 2016-01-08 23:39:11

+0

@IInspectable,是检查返回值是更好的。我也让代码更具可读性。 – 2016-01-09 00:11:17