Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46

Получение текста из файла на сервере

13.02.2015, 14:07. Показов 2040. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно получить из текстового файла на сервере текст?
C++
1
2
int file= LoadFromFile("site/text.txt"); //просто так
if(file=="from")return;
Добавлено через 37 минут
то есть на сайте
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2015, 14:07
Ответы с готовыми решениями:

Получение файла на сервере
помогите пожалуйста дописать код для получения файла на эхо сервере. моя программа получает текст, но проблема с получением файла....

Запись текста с файла на ftp сервере в memo
Привет всем, у меня такой вопрос как вывести текст из файла ftp сервере в memo, именно вывести, не скачать а потом прочесть. делаю...

Запись текста в нужную строку файла на сервере
Привет, пытаюсь записать все в файл на сервере, но у меня не вышло, поэтому я создаю файл а потом закачиваю его на сервер. ВОт так: ...

14
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
13.02.2015, 14:18
TidHTTP, примеров на этом форуме тьма тмущая.
1
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
13.02.2015, 14:23
можно с помощью IdHTTP
C++
1
UnicodeString text = IdHTTP1->Get("http://my_site/text.txt");
Добавлено через 43 секунды
quwy, опередил )))
1
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
13.02.2015, 20:53  [ТС]
C++
1
2
3
4
5
6
7
 if( IdHTTP1->Get("http://lololol.esy.es/version/BTVersion.txt") == Label11->Caption)
 {
     ShowMessage("У вас последняя версия");
 }else
 {
    ShowMessage(IdHTTP1->Get("http://lololol.esy.es/version/BTVersion.txt"));
 }
403 ошибка
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
13.02.2015, 21:20
Цитата Сообщение от Senchick Посмотреть сообщение
403 ошибка
тока ошибка 404 там
0
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
13.02.2015, 21:23  [ТС]
я не буду свой сайт палить
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
13.02.2015, 23:55
Код старый, на косяки (использование AnsiString, неправильную работу с потоком и т.д.) просьба внимание не обращать.
Вместо скачивания текстового файла берем страницу с сайта, но суть это почти не меняет.
Определение последней версии:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  RichEdit1->Text = IdHTTP1->Get("http://www.getdota.com/");
  int I, PosReturn;
  for (I = 0; I < RichEdit1->Lines->Count; I++)
  {
    PosReturn = RichEdit1->Lines->Strings[I].Pos("Latest Map");
    if (PosReturn) //found!
      break;
  }
  Label1->Caption = "Последняя версия: " + MidStr(RichEdit1->Lines->Strings[I], RichEdit1->Lines->Strings[I].Pos("version")+9, RichEdit1->Lines->Strings[I].Pos("</span>")-RichEdit1->Lines->Strings[I].Pos("version")-9);
  if (Label1->Caption == "Последняя версия: ")
  {
     Label1->Caption += "?";
     MessageBox(NULL, "Сервер недоступен / не удается получить номер версии карты.", "Ошибка", MB_OK + MB_ICONERROR + MB_TASKMODAL);
  }
}
Сравниваем версии и при наличии новой даем "команду" на скачивание [ThreadHTTP(0)]:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
void __fastcall TForm1::Button3Click(TObject *Sender)
{
//  IdHTTP3->Head("http://media.playdota.com/maps/rus/DotA%20v6.69c.w3x");
//  fs->Size = IdHTTP3->Response->ContentLength;
//  Label8->Caption = "размер = " + IntToStr(fs->Size) + " байт";
  AnsiString dota_ver = Trim(MidStr(Label1->Caption, 18, 6));  // 6 знаков хватит до версии 99.99z включительно
  if ((dota_ver == "?") || (dota_ver == ""))
  {
    Button1->Click();
    dota_ver = Trim(MidStr(Label1->Caption, 18, 6));
  }
  if (Label11->Caption == "текущий путь не найден")
    MessageBox(NULL, "Не найден путь к игре. Необходимо указать директорию.", "Ошибка", MB_OK + MB_ICONWARNING + MB_TASKMODAL);
  else
  {
    if ((dota_ver != "?") && (dota_ver != ""))
    {
      bool yes = 0;
      AnsiString Dir1 = MidStr(Label11->Caption, 14, Label11->Caption.Length()-13);
      Dir1 = Dir1 + "\\Maps\\Download";
      SetCurrentDir(Dir1);
      if (FileExists("DotA v" + dota_ver + ".w3x"))
        if(MessageBox(NULL, ("Файл " + GetCurrentDir() + "\\DotA v" + dota_ver + ".w3x уже существует.\nЗаменить?").c_str(), "Предупреждение", MB_YESNO + MB_ICONWARNING + MB_TASKMODAL) == IDYES)
          yes = 1;
      if (!FileExists("DotA v" + dota_ver + ".w3x") || (yes == 1))
        {
//        TFileStream* fs = new TFileStream("DotA v" + dota_ver + ".w3x", FileCreate(""));
 
//        IdHTTP3->Get("http://media.playdota.com/maps/" + lang + "/DotA%20v" + dota_ver + ".w3x", fs);
//        delete fs;
          Label9->Visible = 1;
          Label12->Visible = 1;
          Label13->Visible = 1;
          ThreadHTTP(0);
        }
    }
    else
    {
//    MessageBox(NULL, "Отправлен запрос на получение номера версии карты.", "Сообщение", MB_OK + MB_ICONINFORMATION + MB_TASKMODAL);
    }
  }
}
Скачивание файла (карты игры):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
void __fastcall ThreadHTTP::Execute()
{
    //---- Place thread code here ----
  AnsiString dota_ver = Trim(MidStr(Form1->Label1->Caption, 18, 6));  // 6 знаков хватит до версии 99.99z включительно
  AnsiString Dir1 = MidStr(Form1->Label11->Caption, 14, Form1->Label11->Caption.Length()-13);
  Dir1 = Dir1 + "\\Maps\\Download";
  SetCurrentDir(Dir1);
  TFileStream* fs = new TFileStream("DotA v" + dota_ver + ".w3x", FileCreate(""));
  String lang;
  switch (Form1->ComboBox1->ItemIndex)
  {
    case 0:  lang = "rus"; break;
    case 1:  lang = "eng"; break;
    case 2:  lang = "kor"; break;
    case 3:  lang = "cni"; break;
    case 4:  lang = "tr";  break;
    case 5:  lang = "sp";  break;
    case 6:  lang = "hun"; break;
    case 7:  lang = "br";  break;
    case 8:  lang = "tw";  break;
    case 9:  lang = "de";  break;
    case 10: lang = "cz";  break;
    case 11: lang = "fr";  break;
    case 12: lang = "gr";  break;
    case 13: lang = "ph";  break;
    case 14: lang = "ro";  break;   
    default: lang = "rus";
  }
  Form1->IdHTTP3->Get("http://media.playdota.com/maps/" + lang + "/DotA%20v" + dota_ver + ".w3x", fs);
//  Synchronize(&UpdateCaption);
  delete fs;
}
Миниатюры
Получение текста из файла на сервере  
1
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
14.02.2015, 00:11  [ТС]
У меня просто нет доступа и да там одна строчка. На другой студии работает DevelStudio. Если что hostinger

Добавлено через 2 минуты
0
1408 / 572 / 127
Регистрация: 31.10.2011
Сообщений: 1,960
14.02.2015, 03:11
Senchick, проверял на своем сайте - все работает. Если у тебя файл "заблокирован" то извини.

Могу предположить, если hostinger, то там 100% апач.
А там смотри и настраивай .htaccess в том же каталоге.

Добавлено через 1 минуту
попробуй сначала с корневой папки, а там уже посмотришь
0
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
14.02.2015, 07:34  [ТС]
Я ж, говорю что, на студии Develstudio работает
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
14.02.2015, 17:13
Цитата Сообщение от Senchick Посмотреть сообщение
Я ж, говорю что, на студии Develstudio работает
У нас тут вообще С++ Builder
0
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
14.02.2015, 17:34  [ТС]
Ну а тут 403 ошибка
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
14.02.2015, 18:28
А у меня 404 ошибка.
0
0 / 0 / 0
Регистрация: 06.02.2015
Сообщений: 46
14.02.2015, 21:33  [ТС]
Ааааа...http://betarelease.esy.es/version/STVersion.txt вот ссылка

Добавлено через 1 час 32 минуты
ну как хотяб просто страницу получить?
0
 Аватар для Gremlin
519 / 307 / 58
Регистрация: 30.07.2008
Сообщений: 607
14.02.2015, 22:36
Лучший ответ Сообщение было отмечено Senchick как решение

Решение

Вот мой код (только с ansi на unicode переделать) все работает!
Сколько раз натыкался, что нужно менять UserAgent.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    String result = "none";
    IdHTTP1->Request->UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36";
    IdHTTP1->ConnectTimeout = 5000;
    try
    {
        result = IdHTTP1->Get("http://betarelease.esy.es/version/STVersion.txt");
    }
    catch(...)
    {
        result = "error";
    }
    ShowMessage(result);
}
//---------------------------------------------------------------------------
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.02.2015, 22:36
Помогаю со студенческими работами здесь

Получение текста с файла
Как получить данные со страницы в массив? Пробовал разными методами, все выдавали ошибку, что невозможно начать работу с URl. ...

Получение текста из файла *.txt
var Form1: TForm1; f: textfile; t:string; Загружаю из файла так: AssignFile(f, 'intput.txt'); Reset(f); ...

Запись речи, отправка файла на Google, получение текста речи
Нужна помощь! Нужно написать простую программу. Программа должна при клике на кнопку слушать микрофон. На другую кнопку останавливать...

Получение изображение на сервере
Добрый день! Как получить изображение, которое приходит на сервер POST-запросом? И как проверить его размер?

Получение списка файлов на сервере
1. Пишу простенький ftp-клиент в C++Builder c использованием компонента ClientSocket. 2. Тестирую в Filezilla Server. 3. Подключаюсь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru