Скажем, я бегу stumbleupon.com, и пользователи могут отправлять сайты, которые нужно добавить в db сайтов. Есть ли способ, которым я могу написать программу, чтобы узнать, действительно ли сайт, добавленный пользователем, на самом деле является реальным сайтом? Или, если это приведет меня к 404, что я могу сказать «приветствовать, это был какой-то bugus» или, может быть, пользователь сделал ошибку при отправке URL-адреса? Или мне нужно поместить людей в свою зарплату, чтобы узнать, привел ли пользовательский веб-сайт мне 404?У всех 404 страниц есть что-то общее?/Страница 404 отличается от обычных страниц?
ответ
Код ответа с запросом - 404 не найден, а не 200 успешное сообщение, на которое вы получаете хороший ответ от сервера. Вы можете легко автоматизировать проверку.
Поскольку я мало знаю о python, я предлагаю решение на стороне клиента.
Вы можете проверить, является ли URL-адрес законным, как только пользователь отправит страницу. Может быть, вытащить сообщение «verification url» или что-то еще.
Используя this method, вы можете сделать перекрестный домен, чтобы узнать, действительно ли этот сайт. Затем вы можете открыть сообщение, которое попросит их исправить свою ошибку или разрешить отправку URL-адреса. Это решение использует Yahoo как прокси-сервер, но, как вы можете видеть, моя супер простая функция ниже, она работает.
function doAjaxCheck(url){
// if the URL starts with http
if(url.match('^http')){
//add a 'loading message here, or something'
// assemble the YQL call
$.getJSON("http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(url)+
"%22&format=xml'&callback=?",
function(data){
if(data.results[0]){
alert('it is OK');
} else {
alert('not OK');
}
}
);
} else {
$.ajax({
url: url,
timeout:5000,
success: function(data){
alert('it is OK');
},
error: function(req,error){
if(error === 'error'){error = req.statusText;}
alert('not OK : ' + error);
}
});
}
}
Однако, все это, как говорится, я бы пошел с проверкой на стороне сервера для обеспечения надежности.
- 1. Php 404 перенаправление страниц
- 2. Nginx, обслуживающий 404 страниц
- 3. Переадресовать большое количество 404 страниц
- 4. 404 перенаправление только для страниц
- 5. CodeIgniter ошибка нумерации страниц 404
- 6. 404 страниц и 301 перенаправления
- 7. iframes рендеринга таинственно отличается от обычных веб-страниц?
- 8. Получение по умолчанию (не CI) 404 для всех страниц
- 9. CMS Список страниц, кроме 404 страницы
- 10. сервер IIS 404 страниц WordPress и видео 404 страница
- 11. Поиск в Wordpress возвращает 404 со страниц?
- 12. Codiginter 3: 404 для всех страниц, кроме оценки
- 13. Не похоже, чтобы получить 404 страниц рабочего
- 14. IIS выбрасывает ошибку 404 для страниц aspx
- 15. кэша приложений и 404/500 страниц
- 16. 301 или 404 Миллионы индексированных страниц
- 17. URL-адреса Wordpress не возвращаются 404 Страниц
- 18. Nginx всегда возвращает 404 для неиндексных страниц
- 19. URL-адрес Apache Rewrite для 404 страниц
- 20. URL-адрес переписывания страниц показывает ошибку 404
- 21. В чем недостаток использования 404 страниц?
- 22. 404 Перенаправление для не страниц ASPX
- 23. TwistedWeb: Пользовательские 404 Не найдено страниц
- 24. Wordpress дает 404 страниц при переходе в год аргумент отличается от текущего года
- 25. Печать страниц HTML отличается от браузера браузером
- 26. Пользовательские страницы 404 ошибка - для PHP-страниц только
- 27. Создайте слушателя для всех страниц
- 28. Одна 404 страница для администратора и других 404 страниц для других контроллеров, как?
- 29. Как правильно отображать пользовательские 404 и 500 страниц?
- 30. Показать 404 для защищенных страниц (без изменения адреса)
Обратите внимание, что в некоторых редких случаях неизвестные веб-админы, как известно, настраивают свои веб-серверы для возврата страницы «не найден» с кодом состояния 200. – Spacedman