Мне поручено проходить через базу данных и проверять все ссылки по недельному графику. Я обычно работаю на PHP, но делать это в PHP будет очень медленно (на самом деле это будет время ожидания страницы после примерно 100 URL-адресов), поэтому я решил сделать быстрое приложение на C++.Link Checker С ShellExecute?
Уверенно, я не использовал C++ с колледжа, поэтому я немного ржавый.
Я нашел функцию ShellExecute и что она не откроет страницу без проблем. Вот то, что я до сих пор:
#include <shlobj.h>
#include <iostream>
using namespace std;
int main()
{
if( ShellExecute(NULL,"find","http://example.com/fdafdafda.php",NULL,NULL,SW_SHOWDEFAULT))
{
cout << "Yes";
} else {
cout << "No";
}
cout << endl;
system("PAUSE");
return 0;
}
Проблема заключается в том, что она всегда возвращает истину, будь то открытие действительную страницу или нет. Кажется, проверяет, может ли связанное приложение (браузер в этом случае) открыть документ без проблем, а затем возвращает true. Он не хочет видеть, получает ли браузер 404 или нет, он просто видит, что он открыт и работает, и все в порядке.
Есть ли лучший способ сделать это? Я пропустил шаг?
Как в стороне, я попытался использовать материал cURLcpp, но не могу понять, как это понять. Все примеры указывают на файлы заголовков, которых нет в загрузке. У меня есть чувство, что cURLcpp является лучше способ сделать это.
Спасибо за любую помощь.
ShellExecute, даже если вы получите его на работу, также будет невероятно медленно. cURL - это путь. Попробуйте еще раз, и задайте вопрос, если вы застряли. – ravenspoint