Милторг родился в городе-герое Калининиград.
Вы вообще в склонения можете? Вам скинули пример, попробуйте его засунуть в прогу вашу.
Юрас, тоже сталкивался с такой проблемой, но у другого хостинга. Тут сама специфика cPanel убогая. Сама панель вроде как ничего, зато домены как сабдомены основного, и прочие мелкие нелогичности вызывают недопонимание. Я долго привыкал, и не понимал зачем так сделано.
Автор, перл уже давно проиграл. Он уже нигде не побеждает.
Аж стало интересно: вот пример программы на Go, которую написал примерно за 10 минут
Итого в коде: 40 строк и 5мб бинарник.
Из минусов: так как на страницах часто генерируются всякие _csrf токены, и прочие спрятанные инпуты с рандомным значением, в большинстве случаев определяет страницу как модифицированную.
За минут 5-10 можно дописать, чтобы программа принимала порог изменения в процентах от нуля до ста, и на основании расчета, писала или не писала в лог. Да и файл тоже можно прикрутить.
Отвечая на вопрос автора: получение html содержимого страницы с помощью одной строки возможно.
response, err := http.Get("http://site.ru")
Нагрузку на сервер можно снизить с помощью кеширования, рефакторинга кода, оптимизации тяжелых запросов. Но быстрее всего, конечно, кеширование. Большая часть из проделанной вами работы повлияет только на скорость загрузки сайта. Если хотите более подробный ответ - напишите в ЛС. Попробую помочь.
Мой htop при посещаемости 2 тысячи запросов в секунду где-то также выглядит, на более слабой машине. Тут дело не в количестве запросов, а в том как все настроено. В 95% случаев можно настроить все таким образом, что нагрузка будет просто смешной. При этом сайт будет работать в разы быстрее. Оптимизация наше все.
И все ради строчки "Hello, world!".
Канают. Все канает. Уметь надо.
Легко, вот пример на Go. Многопоточно.
package main import ( "fmt" "io/ioutil" "net/http" "os" ) func main() { ch := make(chan []byte) for _, v := range os.Args[1:] { go (func(c chan []byte, v string) { html, err := http.Get(v) if err != nil { panic("Oh My God!") } resp, _ := ioutil.ReadAll(html.Body) ch <- resp })(ch, v) html := <-ch fmt.Println(string(html[:])) } }
Ссылка на файл. http://sendfile.su/1289776
Запускать так: htmlcmd.exe http://site1.ru http://site2.ru http://site.ru ... и т.д.
Да, незаконно. Потому что на флоте часто сходят с ума, драки из-за того, кто чью жену чпокает, и т.д. Особенно актуально среди "наших", которые по синьке могут друг друга и за борт повыкидывать. Алкоголь по тем же причинам во многих компаниях запрещен, и я считаю правильно.
Могут нанять вооруженную охрану, у которых есть лицензия на оружие, военная подготовка, и так далее. Но часто ограничиваются сетками и колючкой.
Да нет, это скорее быстро-фикс был. Я отредактировал пост сразу после того, как понял, что все равно не внес однозначности. Видимо, отредактировал сразу после того, как вы завершили чтение, и преступили к написанию ответа.
Да, но нужны именно веб-сокеты. Часть проекта будет риал-тайм. Это раз. Два - я знаю про JavaScript и AJAX. Мне нужны фреймворки или другие инструменты, которые позволяют отслеживать переходы по URL, уметь определять компоненты, которые будут заменены, а какие будут оставлены. Нужно чтиво, мануалы, но я не знаю как гуглить.