Сеть
Здесь описаны функции для работы с сетью/интернетом.
Тип hinfo используется для получения информации об url адресе и имеет следующие поля:
- int Status - статус ответа.
- int Length - размер содержимого. Может быть не указан (равен 0).
- str Type - тип содержимого. Например, text/html; charset=UTF-8.
Функция Download загружает файл из указанного URL и сохранаяет его с указанным именем. Функция возвращает размер загруженного файла.
str ftemp = TempDir() + `/readme.html`
int size = Download("https://github.com/gentee/gentee", ftemp)
Функция HeadInfo отправляет запрос HEAD по указанному параметру url и возвращает структуру hinfo.
Функция HTTPGet отправляет GET запрос по указанному URL и возвращает ответ в виде переменной типа buf. Функция может использоваться для загрузки небольших файлов без сохранения их на диск.
Функция HTTPPage отправляет GET запрос по указанному URL и возвращает ответ в виде строки.
Функция HTTPRequest отправляет HTTP запрос по указанному URL и возвращает ответ в виде строки. В параметре method необходимо указать метод вызова - GET, POST, UPDATE, PUT, DELETE. Также функция позволяет указывать параметры и заголовки запроса. Они описываются в виде ассоциативных массивов, где в качестве ключа указано имя параметра или имя заголовка. По умолчанию, при вызове POST параметры передаются как данные формы. Если вы хотите передавать их в JSON формате, то в параметре headers укажите "Content-Type": "application/json; charset=UTF-8".
map empty
Println(HTTPRequest(TESTURL, "GET", empty, empty))
map params = { `name`: `Jong Doe`, `id`: `101` }
Println(HTTPRequest(TESTURL, "GET", params, empty))
Println(HTTPRequest(TESTURL, "POST", params, empty))
map headjson = { `Content-Type`: `application/json; charset=UTF-8` }
Println(HTTPRequest(TESTURL, "POST", params, headjson))
Last modified 2yr ago