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
Все