Поиск:

Ответ в темуСоздание новой темы Создание опроса
> http get post 
:(
    Опции темы
YahоО
Дата 28.3.2021, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Отчего так сложно в С++ написать или просто найти решение имеющейся задачи? 
Оказывается причина кроется в том что С++ рекомендует и практикует разделение любой программы на части и помещать используемые ею функции в отдельные файлы. 
Для этого предоставлена директива #include. И вместо того чтобы помещать объявления структур в каждый файл, их размещают в заголовочном файле, а затем включают в каждый файл кода. 
В итоге программы разбиваются на три части:
• заголовочный файл, содержащий объявления структур и прототипы функций, которые используют эти структуры;
• файл исходного кода, содержащий код функций, которые работают со структурами;
• файл исходного кода, содержащий код, который вызывает функции работы со структурами.
Когда имя файла представлено в двойных кавычках, компилятор сначала ищет файл в текущем рабочем каталоге или в каталоге с исходным кодом (либо в другом аналогичном месте, которое зависит от версии компилятора). 
Не обнаружив заголовочный файл там, он ищет его в стандартном местоположении.
На то он и компилятор, и пусть себе ищет. А если иерархия директорий имеет сбой, или версия то ли файла то ли компилятора не подходит, или требующийся в создаваемой программе файл элементарно отсутствует, то чтобы докопаться до причины сбоя потребуется дотошный досмотр всех цепочек. 
Именно поэтому никто на форуме не может представить единую программу интересующей задачи. Ведь решение то конечно есть, в том сомненья нету, но вся эта кодировщина раскидана по множественным папкам и файлам, и их количество измеряется должно быть баааальшой цифрой, 
и собирать и соединять все в одном никто в здравом уме и не подумает. Да впрочем и никто и никогда и даже для себя лично ничего подобного не делает, тем более ожидать развернутого ответа на форуме по данному вопросу ожидать не приходится.
Вот и получается что яваскрипт в свою очередь в значительном отрыве от  С++, в том что с помощью closure-compiler или просто ручками можно весьма ощутимо сократить объем написанного кода и даже только этим облегчить его восприятие за счет удаления "полезных" комментариев, избыточных пробелов, с заменой длинных имен односимвольными. 
И самый главный плюс яваскрипт в том что он как на ладони, не скрывается иерархиями директорий и соответствиями версий и библиотек с многотысячными файлами находящихся не в программе, а где то там, далеко в path и в папках, просто необъятного количества файликов содержащих ссылки на ссылки да заголовки со множественными мусорными комментариями. 
Учебники же для яваскрипт начала века действительны и применимы и по сей день. Так что свои плюсы у яваскрипт есть!
А задачку решить все же можно в С++, но предварительно нужно инсталлировать одну из библиотек, например Qt, для чего естественно нужно ежемесячно платить от $255, и загрузить более 3ГБ, распаковать эту громадину, 
изучить еще и ее, и тогда, может быть, решение материализуется. А еще параллельно начитаться С, Delphi, Object Pascal, Turbo Pascal, Java и т.п., 
перешерстить массу книжек различных авторов различных годов издания о различных версиях в т.ч. и устаревших и не поддерживающихся для различных и разнообразный вариаций компиляторов, отделить зерна от плевел, вникнуть во все обертки, 
это ж сколько надо иметь энтузиазма, денег и времени для того чтобы наконец то увидеть как С++ контактирует с интернетом? Конечно все это интересно, но не до такой же степени!
SVN74, благодарю за терпение и дачу разъяснений. Конечно вызывает уважение тот кто нашел в себе силы пройти весь этот тернистый путь и замусорил свой мозг обертками, версиями, заголовками и ссылками по коридорам директорий и инсталляций, и остался еще способен на написание чего либо интересного и не очень абстрактного.
После того что удалось почитать в разных источниках по сокетам восторг от того что Embarcadero может компилировать буковки в исполняемый код растворяется как дым. Мне тут посоветовали оторваться от яваскрипта - да ни за что!  smile))))))))))

PM MAIL   Вверх
SVN74
Дата 28.3.2021, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



Если вы хотите писать для интернета, - С++ для этого подходит меньше всего. Чем ниже уровень ЯП , тем больше писанины, выше скорость, ошибки и привязка к железу более критичнее...  smile



PM MAIL WWW   Вверх
YahоО
  Дата 28.3.2021, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



 ошибки и привязка к железу более критичнее... - кажется я с этим уже столкнулся, брандмауэр Защитника Windows заблокировал мое творчество 
по рецепту  https://docs.microsoft.com/en-us/windows/wi...-for-the-server
Вот раздумываю разрешать разблокировку или повременить, несмотря на то что "скрипт" от microsoft.

Наверно это означает что я на правильном пути, если то что скомпилировалось уже представляет для меня же типа угрозу, настолько все реально! Сааавсем круто С++ ! 


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  22.png 130,62 Kb
PM MAIL   Вверх
SVN74
Дата 28.3.2021, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 11
Всего: 18



 smile Это срабатывает если запустить серверный сокет, на клиентский сокет он не реагирует...
Это защита от "шпиона", поэтому шпионы используют только клиентский сокет.  smile 

Это сообщение отредактировал(а) SVN74 - 28.3.2021, 22:28
PM MAIL WWW   Вверх
YahоО
Дата 29.3.2021, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Как то подозрительно все это, брандмауэр должен был бы реагировать на шпиЁна в виде клиента который пытается с пк что то секретное передать резиденту,
а тут получается что server на пк якобы поселился и сам становится резидентом слушающим сторонних шпиЁнов.

"Это защита от "шпиона", поэтому шпионы используют только клиентский сокет" - вот на них, на клиентов и должна реагировать система, по идее, а так получается что в системе уже сидит свой шпион, и не допускает иных резидентов, при этом система не против того чтобы множественные шпионы атаковали пк. На клиентов - шпионов брандмауэр не реагирует, подозрительный абсурд. Как только "въеду" в С++ надо будет поплотнее поинтересоваться устройством окон )) хотя ожидать этого по всем признакам придется очень не скоро.

Наверно из за потенциальных шпионов так сложно докопаться до кода позволяющего пк легко контактировать с интернетом.

И естественно, пользуясь случаем когда не потеряна нить разговора, попытаюсь спросить - вот есть сокеты, с помощью сокет-сервера слушают входящие, а с помощью клиента входят в контакт с серверами, но ведь это чепуха какая то!
Потому что имея на пк самодельный клиент невозможно контактировать с каким либо сайтом не имеющим никаких сокетов! И как тогда контактировать с сайтами?
Предположим тот код что от майкрософт-клиент я скомпилирую, но этот клиент никак с сайтом майкрософта не сможет контактировать потому что  там http+s но никак не ws://

(конечно же я помню Ломоносова - "Нет такого невежды, который не мог бы задать больше вопросов, чем может их разрешить самый знающий человек")

PM MAIL   Вверх
YahоО
Дата 29.3.2021, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Мощный и быстрый C++ специально не умеет просто и быстро сделать то что умеет пхп в одну строку:
Код

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

https://www.php.net/manual/ru/function.file-get-contents.php
PM MAIL   Вверх
YahоО
Дата 31.3.2021, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Romikgy,  YahоО, вам не СЛАБО ... значит катайтесь на коньках. 
Чуть менее недели минуло, и что, ну нашел я то что искал, три-четыре дня утеряно потрачено на чтение умных книжек, и периодический поиск file_get_contents, и наконец то заработало, скачивает с интернета страницу, то что я и спрашивал, и то в чем Вы мне отказали в помощи. 
Самоделкины, на помощь от Romikgy не надейтесь! Долбите сами гранит науки smile)) это на поверку оказывается самый верный путь! 
Если конечно вам не СЛАБО.

Плохо конечно что на форуме отсутствуют раздел с правильными классическими примерами того или иного яп, ссылаясь на которые можно было бы что то оперативно и без потерь времени уточнить, освежить, познакомиться, изучить, и не задавать наивные вопросы, и уже на их основе творить свои пробы.
Есть много источников, например хабр, но там все новое, а где правильное и до настоящего времени актуальное и работающее находить, основы может быть, отправные точки?
Оригинальный совет всем кататься на коньках не украшает форум, скорее напоминает о снобизме вездесущих завсегдатаев.


PM MAIL   Вверх
YahоО
Дата 13.4.2021, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 198
Регистрация: 11.6.2015

Репутация: нет
Всего: 1



Цитата(Romikgy @  25.3.2021,  18:31 Найти цитируемый пост)
2. такие вещи не делаются из консольных приложений 


А если попробовать?
Код

#include <cstdlib>
int main(){
   system("curl https://github.com/ -o o.htm");
   return 0;
}

Работает? Работает!
И представьте себе это настолько короткий код, что просто диву даешься отчего никто вот так просто не написал его ни в одном примере. 

Но тут же новый вопрос, который наверно лучше написать в новой теме, но пробую спросить здесь:
Скачал curlpp-0.8.1.zip, и совершенно не представляю что с ним нужно сделать, чтобы в с++ можно было написать строку:
#include <curlpp/cURLpp.hpp>
и компилятор нашел бы curlpp в стандартном include. Может надо скопировать папку с  curlpp-0.8.1\include\   в папку c:\Program Files (x86)\Embarcadero\Studio\20.0\include\ но оказывается тут требуются какие то права - "С админ.правами",
или нужен какой то дополнительный инсталлятор папки в мамку, весь гугл протер до дыр можно сказать smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1251 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.