# Image Uploader scripting API

# Classes

## NetworkClient

HTTP/FTP client (libcurl wrapper). Note: After each completed request, most of the options are set to default values.

`nm` - глобальный объект, являющийся экземпляром класса `NetworkClient`

Обращение к методам объекта: `nm.имяМетода(параметры);`

Методы класса NetworkClient:

`addQueryHeader(string name, string value)` Устанавливает значение заголовка HTTP запроса. Чтобы удалить заголовок, передайте пустую строку. Чтобы установить пустое значение, передайте "\n". `addQueryParam(string name, string value)` Добавляет к POST запросу параметр с именем и значением `addQueryParamFile(string name, string fileName, string displayName, string contentType)` Добавляет к MULTIPART/DATA POST запросу параметр - файл. name - имя параметра запроса, filename - физический путь к файлу, displayname - отображаемое имя(то имя, которое передается серверу, не содержит пути), contentType - mime тип файла, может быть пустой строкой или получен с помощью функции `GetFileMimeType`). Метод аналогичен элементу HTML формы - `<input type="file">`. `doGet(string url)` Выполнение GET запроса(протокол HTTP). `doPost(string data)` Выполняет POST запрос. data - тело запроса (например, "param1=value&param2=value2" ). Если data - пустая строка, используются параметры, предварительно заданные с помощью функции addQueryParam(). `doUpload(string filename, string data)` Отправка файла или данных непосредственно в теле POST запроса (не используется MULTIPART кодирование). `doUploadMultipartData()` Посылает запрос по адресу, установленному функцией `setUrl` в виде параметров и файлов, закодированных в формате MULTIPART/FORM-DATA. Аналогичен отправке формы с файлом с веб-страницы. `enableResponseCodeChecking(bool enable)version >= 1.3.0` Включает логгирование HTTP ошибок. `string errorString()` Возвращает текст ошибки для последнего выполненного запроса.(например, `HTTP 404 not found`). `string responseBody()` Возвращает тело ответа сервера (как правило, это текст HTML страницы, JSON, XML или другой формат). `int responseHeaderCount()` Возвращает количество параметров в HTTP -заголовке ответa. `string responseHeaderText()version >= 1.3.1.4302` Возвращает содержимое всего заголовка. `string responseHeaderByName(string fieldName)version >= 1.3.1.4302` Возвращает содержимое поля заголовка. `int responseCode()` Возвращает код ответа (например, код 200 означает HTTP OK). `setChunkOffset(float offset)version >= 1.3.0` Set the byte offset of current chunk, relative to the beginning of the full file. `setChunkSize(float size)version >= 1.3.0` Sets size of current chunk. `setCurlOption(int option, string value)version >= 1.3.0` Устанавливает строковое значения для опции объекта CURL. Эквивалентно вызову функции curl_easy_setopt. Заметьте, что option - это число. Список численных значений option можно посмотреть здесь. `setCurlOptionInt(int option, int value)version >= 1.3.0` Устанавливает численное значение для опции объекта CURL. Эквивалентно вызову функции curl_easy_setopt. Заметьте, что option - это число. Список численных значений option можно посмотреть здесь. `setMethod(string method)` Позволяет вручную задать тип запроса - POST, GET, PUT ... `setReferer(string referer)version >= 1.3.0` Устанавливает HTTP заголовок referer. `setUrl(string url)` Устанавливает адрес URL для следующего запроса. `setUserAgent(string agent)version >= 1.3.1` Устанавливает заголовок user-agent. `string urlEncode(string text)` Процентное кодирование строки, необходимо при подготовке правильного GET-запроса.