PureBasic

ReceiveHTTPMemory()

Синтаксис

*Buffer = ReceiveHTTPMemory(URL$ [, Flags [, UserAgent$]])

Описание


Загружает файл в новый буфер памяти с данного URL$

Параметры

URL$ URL - адрес загружаемого файла в интернете.
Flags (дополн.) Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'):
  #PB_HTTP_Asynchronous: Запустить загрузку асинхронно. Чтобы получить адрес буфера памяти, используйте FinishHTTP().
  #PB_HTTP_NoRedirect  : Не выполнять автоматические перенаправления.
UserAgent$ (дополн.) Изменяет пользовательский агент для HTTP-запроса. Пользовательский агент по умолчанию установлен на "Mozilla/5.0 Gecko/41.0 Firefox/41.0", для максимальной совместимости..

Возвращаемое значение

Возвращает новый адрес буфера памяти, если загрузка прошла успешно, в противном случае - ноль. Для получения размера загруженного объекта используйте функцию MemorySize(). После того, как буфер памяти считан и более не нужен, он должен быть высвобожден с помощью функции FreeMemory(). Если использовался флаг #PB_HTTP_Asynchronous, функция возвращает значение 'HttpConnection', необходимое для HTTPProgress(), AbortHTTP() и FinishHTTP().

Комментарии

Перед использованием этой команды должна быть вызвана функция InitNetwork().

В Linux для работы этой команды необходимо установить 'libcurl' (большая часть дистрибутивов Linux поставляется с уже установленной 'libcurl').

Пример

InitNetwork()

*Buffer = ReceiveHTTPMemory("http://www.purebasic.com/index.php")
If *Buffer
    Size = MemorySize(*Buffer)
    Debug "Content: " + PeekS(*Buffer, Size, #PB_UTF8|#PB_ByteLength)
    FreeMemory(*Buffer)
Else
    Debug "сбой"
EndIf

См. также

GetHTTPHeader(), URLEncoder()

Поддерживаемые OS

Все

<- ReceiveHTTPFile() - Оглавление Http - SetURLPart()->