Поиск:

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


Бывалый
*


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

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



Embarcadero® C++Builder 10.3 Version 26.0.36039.7899 пару дней как скачал и установил, симпатичная вещица, пробежался по основам С++, ну думаю изучать можно, вроде бы понятно что там пишут в книгах умных. Это ж классика, сложить умножить, полиморфизм, наследование и т.д., однако самое любопытство разбирает, а как с интернетом эта штука дружит или нет? Погуглил что найдется, c++ https get post query Builder  и т.п., из того что смог найти по интересующему вопросу аж ничего работающего! И зачем то все больше указок на Delphi чем на С++, но мне то не Delphi сейчас нужно, интересует же как в С++ контактировать например со своим собственным сайтом для начала.
Для этого примера:
Код

#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <string>
#include <IdBaseComponent.hpp>
#include <IdComponent.hpp>
#include <IdHTTP.hpp>
#include <IdTCPClient.hpp>
#include <IdTCPConnection.hpp>
using namespace std;
int main(void)
{
  TIdHTTP *IdHTTP1 = new TIdHTTP(NULL);
  String page;
   page = IdHTTP1->Get("https://www.cyberforum.ru");
  system("PAUSE");
  return 0;
}

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

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


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



1. проект с поддержкой vcl ? 
2. такие вещи не делаются из консольных приложений 
3. у билдера нету скриптов !


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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


Бывалый
*


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

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



1. vcl вроде бы да, но им не пользовался, не дочитал еще до этого момента, хотел для консольного приложения что либо сотворить. 
2. А надо именно в vcl пробовать?
3. у билдера нету скриптов - да, похоже терминологию мне надо менять при переходе от javascript к C++  smile
4. А нету ли у Вас "рабочего" файла (проекта) чтобы душа моя не расстраивалась от того что какой то неполноценный у меня попался Embarcadero?

Это сообщение отредактировал(а) YahоО - 25.3.2021, 19:15
PM MAIL   Вверх
SVN74
Дата 25.3.2021, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



С HTTP можно работать на голых сокетах и на любых яп, там ничего сложного нет, почитайте протокол http и все поймете...  smile 
PM MAIL WWW   Вверх
YahоО
Дата 26.3.2021, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



SVN74,  ну что ж, будем искать, голые сокеты, если мой Embarcadero без посторонней помощи не справляется smile
Ага, как вот найду про эти самые протоколы, да кааак почитаю про них,  да как пойму я их, так и затрепыхаются энти самые сукеты! А то два дня гоняю гугл впустую то по curl то по boost то по beast и poco, а оказывается голых гуглить надо, главное не промахнуться.

Спасибо за ценное направление, надеюсь теперь дело двинется с мертвой точки. Может быть. Книжками уже обложился авторов разных, из того удалось скачать.
PM MAIL   Вверх
Romikgy
Дата 26.3.2021, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(YahоО @  25.3.2021,  18:13 Найти цитируемый пост)
1. vcl вроде бы да, но им не пользовался, не дочитал еще до этого момента, хотел для консольного приложения что либо сотворить. 

все компаненты , в большей или меньшей мере используют vcl 
Цитата(YahоО @  25.3.2021,  17:27 Найти цитируемый пост)
TIdHTTP *IdHTTP1 = new TIdHTTP(NULL);

это уже затрагивает процесс использования... 
Цитата(YahоО @  25.3.2021,  18:13 Найти цитируемый пост)
2. А надо именно в vcl пробовать?

нет , можно и голом winapi написать 
Цитата(YahоО @  25.3.2021,  18:13 Найти цитируемый пост)
4. А нету ли у Вас "рабочего" файла (проекта)


нет 

PS 

Цитата(YahоО @  25.3.2021,  17:27 Найти цитируемый пост)
page = IdHTTP1->Get("https://www.cyberforum.ru");

вы создали объект http , а просите работать с https ... 
разница скриптовых языков по отношению с компилируемыми , что они более типизированы .... и если вам надо работать с https значит вам нужны компонетны именно для этого ... что тянет поддержку SSL (это отдельный компонент как правило) .
То есть вам необходимо понять сначало специфику С++, в отрыве от яваскрипта , и только после заниматься реализацией. ИМХО


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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


Бывалый
*


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

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



Romikgy, давно ли Вы катались на коньках? 
Наверно же не было такого - на тебе дядя коньки 44 размера и даже если ты их видишь впервые то надень и катайся, можешь книжку почитать как на них кататься, но показать личным примером как это делается ни за что! Сомневаюсь чтобы в этом случае, т.е. самостоятельного со скрипом освоения неведомой темы, без малейшего представления как это делается Вы бы получили удовольствие, удовлетворение и понимание, а еще и правильные навыки, а еще и в кратчайшие сроки.
И кстати, возможно не только мне бы пригодился пример для С++ для http+s (по вопросу № 4), но многим начинающим изучение, где практика помогает в освоении теории.
Специалистам, профи, гуру, профессуре СЛАБО набросать классический пример для страждущих! а ведь когда то уважаемые люди радовались вопросам любознательных и не боялись конкуренции)))))
Ну что же, книжки похоже это наше всё!

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


Опытный
**


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

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



Вот отличная статья с JavaRush о протоколе HTTP https://javarush.ru/groups/posts/2521-chast...kolih-httphttps
Возьмите запустите просто голый серверный сокет  на 80-м порту и сделайте с любого браузера запрос на этот сервер, - у вас появится строка запроса на вашем сервере от браузера, затем согласно статьи отправьте с вашего сервера обратный лист, - на вашем браузере появится страничка... Вот и ВСЕ, что тут сложного?
 
PM MAIL WWW   Вверх
Romikgy
Дата 26.3.2021, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7325
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



YahоО, вам не СЛАБО ... значит катайтесь на коньках.
Счастливо.


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

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


Бывалый
*


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

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



SVN74, благодарю за ссылку. Прочитал:
https://javarush.ru/groups/posts/2514-vvede...rise-razrabotku
https://javarush.ru/groups/posts/2519-chast...arkhitekture-po
https://javarush.ru/groups/posts/2521-chast...kolih-httphttps
все там прекрасно описано, мне даже понравилось, но к сожалению ничего нового там вычитать не удалось, все просто знакомо уже, и ни на грамм не продвинуло в сторону создания в С++ что то типа Get("https://www.cyberforum.ru") .

И что примечательно, вместо С++ постоянно приходится натыкаться на сноски то на Delphi, то на Java, то на С, и на дополнительные не установленные у меня библиотеки, не вошедшие в Embarcader и без которых похоже аж ничего не получится.

Цитата(SVN74 @  26.3.2021,  21:00 Найти цитируемый пост)
Возьмите запустите просто голый серверный сокет  на 80-м порту и сделайте с любого браузера запрос на этот сервер

а тут вообще предлагается сделать голый запрос из адресной строки любимого браузера на свой собственный сервер! На котором еще и демон запустить. И к которому обращаться с помощью javascript из html.

Но что в задаче спрашивается - сделать запрос на любой, в т.ч. не обязательно на свой собственный сайт, то ли http, а еще лучше https, и получить адекватный ответ которой можно либо напечатать на экране, либо сохранить в файл. И часть вторая - отправить на свой сервер для записи какой либо файл, в т.ч. бинарный, не только текстовый. 

Даже Perl с подобной задачей справляется на ура, а что же С++ ?
PM MAIL   Вверх
SVN74
Дата 27.3.2021, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(YahоО @  26.3.2021,  23:00 Найти цитируемый пост)
Но что в задаче спрашивается

Я для примера вам предложил создать свой серверный сокет (без демона) чисто чтобы понять как идет общение, конечно можно просто клиентским сокетом отправить GET запрос на любой сервер и вы получите необходимые вам данные...
HTTPS в "домашних" условиях поднять не получится .  smile 
--------------
Хотите знать кухню изнутри, - лучший способ "прощупать все руками"  

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


Бывалый
*


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

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



Цитата(SVN74 @  27.3.2021,  00:32 Найти цитируемый пост)
можно просто клиентским сокетом отправить GET запрос на любой сервер и вы получите необходимые 

а как это?

(только не говорите про браузер)

------------------
HTTPS в "домашних" условиях поднять - неа, не нужно это, достаточно того что есть готовые - https://www.google.com и https://forum.vingrad.ru и к ним бы запрос на простом клиентском ...

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


Опытный
**


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

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



TCP/IP вам понадобится. Можно воспользоваться в с++ бюлдере одинм из двух вариантов взять стандартный доступ к сокетам или использовать winsok (если вы в Винде) .
Я бы рекомендовал использовать winsock. Хотя и в линуксе тот же подход к сокетам. 
Вот первый попавшийся пример в инете: https://www.winsocketdotnetworkprogramming....ncedcode1d.html
на с++ бюлдере этот код должен тоже будет заработать



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


Бывалый
*


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

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



SVN74, это первый "скрипт" который хотя бы запустился в моей Винде и бюлдере, т.е. значит скомпилировался и приступил к выполнению, и уже в ходе выполнения естественно выбросил внутреннюю ошибку с кодом 10061, потому что в адресе 127.0.0.1 не нашел отклика - там же ничего нету для ответа. 
Попробовал "натравить" эту штуку на гугл - обозначилась ошибка 10049, и даже если найти сайт с http и указать его ip то все равно ошибка 10061. Значит он работает хотя что то ему не нравится smile
Одно то что уже какой то просвет появился и показал что С++ на что то способен окромя Animal - > Dog and Kotik speak Myu or Gav уже обнадеживает и вдохновляет на подвиги в изучении этого мерзкого ооп в его "классике" и всей красе.

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


Опытный
**


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

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



Цитата(YahоО @  27.3.2021,  12:52 Найти цитируемый пост)
потому что в адресе 127.0.0.1 не нашел отклика

это внутренний адрес, а вам надо к примеру google - надо вводить не url а ip сайта (и только HTTP сайты )
И даже после всех танцев с бубном этот пример не получит с сайта ничего, чтобы к вам пришел ответ, надо послать серверу (сразу после соединения ) запрос GET и только после этого придет ответ

Я вам дал просто пример работы с сокетами на C++, там есть отсылка пакетов но нет приема, надо самому дописывать...
Если для вас это сложно, рекомендую использовать Java , - там все заточено для работы в сети.  

Если же вы все таки хотите использовать C++Builder, посмотрите эти ссылки, это тоже голые сокеты в обвертке... -  https://habr.com/ru/post/259641/
 https://habr.com/ru/post/259655/


http://docwiki.embarcadero.com/RADStudio/S..._an_HTTP_Client

Это сообщение отредактировал(а) SVN74 - 27.3.2021, 23:01
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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