Примерно так:
1 В секцию данных положить include('Chttp.inc')
2 Там, где нужен обмен с сервером, декларируем объект класса
! Если устраивают стандартные сообщения об ошибках
! Или, если надо самому выводить
Код: Выделить всё
H CLASS(CHTTP) !Класс CHTTP
Throw Procedure(String Str,Long Level),Long,Proc,Virtual
End
! И, в локальных процедурах помещаем код
H.Throw Procedure(String Str,Long Level)
! Str - текст сообщения об ошибке
! Level - уровень ошибки. Если Level=0-просто информация
Code
! Куда-то выводим информацию об ошибке...
....
Return(Level)
3. У нас есть (откуда-то снаружи) имя сервера, номер порта и имя файла.
Например, мы хотим скачать
index.html с
mail.ru, тогда сервер -
mail.ru, а файл -
index.html
А вот если я текущую страницу хочу загрузить, я в качестве сервера укажу
forum.clarionlife.net,
а в качестве файла -
phpbb/posting.php?mode=reply&f=1&t=3180&sid=9bcfc9b5b72d5ce3a133ad1e7504809f
Оставим за кадром отрезание http:// от адреса, выделение порта из имени сервера...
4. Соединяемся с сервером
Код: Выделить всё
If H.Connect(HTTPServer,Glo:HTTPPort)<>0
Message('Ошибка:' & H.Error)
H.Disconnect()
Return....
End
5. Загружаем файл
Код: Выделить всё
If H.GetData(Адресфайла, КудаПоложитьФайлНаДиск) ! H.GetData('index.html','c:\index.html')
Message('Ошибка:' & H.Error)
H.Disconnect()
Return.
End
Можно имя файла и не указывать, тогда скачанные данные лежат в переменной
H.Response
6. Если нужно что-то отправить по протоколу Post, надо подготовить список Post-переменных и указать их значения
Для этого информируем класс о переменных
Код: Выделить всё
H.AddData('Var1','Значение Post-переменной Var1')
H.AddData('Var2','Значение Post-переменной Var2')
.....
И отправляем, как и раньше
If H.POSTData(Ссылка)
Message('Ошибка:' & H.Error)
H.Disconnect()
Return ...
End
И, как и ранее, ответ лежит в H.Response
В каталоге есть убогий примерчик ftptest, где можно немного поиграться...