Member 14804852 Ответов: 2

Кому: встраивание веб-сервера в ваше приложение на языке C++


Эй. Я пытаюсь получить данные из файла config.ini, который находится на моем сервере. Я пытаюсь использовать GetPrivateProfileIntA("httptester", "usagecheck", 0, [Здесь я хочу добавить: https://example.de/config.ini]). Можно ли получить данные из файла .ini на сервере? Вы не могли бы мне помочь?

Что я уже пробовал:

Я уже пробовал:
char test[20] = "https://zer0ware.de/testing.ini"

и

if (GetPrivateProfileIntA("httptester", "usagecheck", 0, "https://zer0ware.de/testing.ini") != 0)
но я не могу прочитать этот файл...

F-ES Sitecore

"Это зависит" от сервера. Большинство веб-серверов настроены на отклонение запросов к конфигурационным файлам. Если вы хотите получить доступ к INI-файлу через http, вам может потребоваться настроить сервер, чтобы разрешить это, но с учетом последствий для безопасности.

Member 14804852

У меня есть сервер Linux Debian 10. Но также у меня есть сервер веб-пространства, и, как вы можете видеть, я только что загрузил ini в свое веб-пространство, чтобы вы могли получить доступ из интернета: https://zer0ware.de/testing.ini
Могу ли я использовать свой сервер и просто загрузить файл или мне нужно было сделать это с помощью Sql и логина, таблицы и т. д.

2 Ответов

Рейтинг:
2

Rick York

Мне кажется, что вы не "встраиваете сервер" в свое приложение. Вы разрешаете доступ к удаленному файлу вместе с вашим приложением. Должен ли этот доступ быть через интернет (или интранет) через http (или ftp) ? Или это файл на сетевом диске, доступ к которому можно получить с помощью вызова GetPrivateProfileInt?

Если файл доступен через стандартные вызовы API, такие как GetPrivateProfileInt, fopen или CreateFile, то вам просто нужно полное имя, например \\ServerName\\drive... и т. д., или подключенный сетевой диск, и вы можете использовать вызовы API. Если доступ должен осуществляться по URL-адресу и интернет-протоколам, то предложение Карстенка является хорошим.

Это не ясно из вашего вопроса, потому что вы испробовали оба подхода. Если файл доступен в интрасети, то вполне возможно, что сервер не поддерживает интернет-протоколы, поэтому вам придется использовать стандартные файловые API. Это действительно фундаментальный вопрос здесь : требуется ли вам использовать интернет-протоколы или нет?


Member 14804852

Это полностью ваш выбор. Что еще лучше. У меня есть Linux V-сервер с Debian 10 и Webspaceserver с FTPaccess, так что вы должны выбрать, что мне делать. У меня нет никакого опыта работы с API или подключения к FTP. Самый простой способ-это через http-ожидание, например: https://zer0ware.de/testing.ini. Ты можешь мне помочь? Если у вас есть еще какие-то вопросы или вы можете мне помочь, самый простой способ закончен https://discordapp.com/ и добавьте WlanKabl.Салтыг#0666.

Rick York

Нет, мне не нужно выбирать. Это определенно не моя проблема.

Существует множество примеров, которые помогут вам с любым семейством API, которое вы выбрали.

Member 14804852

Я попробовал кое-что: http://www.martinbroadhurst.com/downloading-a-web-page-in-c-using-wininet.html-да. Но когда я хочу определить связь, это ошибка... Idk, каков самый простой способ получить ini и прочитать его, поэтому мне нужна помощь в выборе. Но я думаю, что не буду работать с api, потому что у меня нет опыта.

Rick York

Как кто-то может помочь вам, если вы не определили свои ограничения? Если этот ini-файл используется машиной, я буду удивлен, если на нем будет запущен интернет-сервер, который обеспечит доступ к этому файлу. Если это не так, вы должны использовать один из API доступа к файлам, но мы не знаем, потому что вы не ответите на этот вопрос.

Member 14804852

Я понял...

Рейтинг:
18

KarstenK

Это возможно, потому что это простая загрузка этого файла. Воспользуйся URLDownloadToFile.

Позаботьтесь о том, чтобы записать файл в каталог, где вы можете его записать. Это обычная яма.

Поэтому следите за кодом возврата этой функции.


Member 14804852

Это отличная идея. Я просто загружаю его в ".\\Users\\.\ \ AppData\\Roaming"
Вы можете мне помочь с этим?

У меня есть диссонанс или у вас есть другая платформа для написания