Иконка ресурса

addons AmxxEasyHttp 1.3.0

Нет прав для скачивания
Автор
Совместимость с
Amx Mod X 1.8.2, Amx Mod X 1.9.0, Amx Mod X 1.10.0 dev
Благодарности
Psycrow за помощь в сборке и тестировании
AmxxEasyHttp предоставляет простой в использовании API для запросов по HTTP, HTTPS. Так же есть поддержка FTP.
В отличии от AmxxCurl, помимо удобного API, не требует никаких очисток ресурсов, не использует read/write колбеки.

Некоторые примеры использования:
C:
public http_get()
{
    ezhttp_get("https://httpbin.org/get", "http_complete")
}

public http_post()
{
    new EzHttpOptions:options_id = ezhttp_create_options()
    ezhttp_option_set_header(options_id, "Content-Type", "text/plain")
    ezhttp_option_set_body(options_id, "Hello!")

    ezhttp_post("https://httpbin.org/post", "http_complete", options_id)
}

public http_complete(EzHttpRequest:request_id)
{
    if (ezhttp_get_error_code(request_id) != EZH_OK)
    {
        new error[64]
        ezhttp_get_error_message(request_id, error, charsmax(error))
        server_print("Response error: %s", error);
        return
    }

    new data[512]
    ezhttp_get_data(request_id, data, charsmax(data))
    server_print("Response data: %s", data)

    // large data cannot be read completely by ezhttp_get_data because of amxmodx's maximum array size limitation,
    // so you can save the whole response to a file
    ezhttp_save_data_to_file(request_id, fmt("addons/amxmodx/response_%d.json", request_id))
}

// --------------------------------------------------------------------

public ftp_upload()
{
    ezhttp_ftp_upload("user", "password", "127.0.0.1", "wads/cstrike_1.wad", "cstrike.wad", "ftp_upload_complete")
    ezhttp_ftp_upload2("ftp://user:[email protected]/wads/cstrike_2.wad", "cstrike.wad", "ftp_upload_complete", EZH_SECURE_EXPLICIT)
}

public ftp_upload_complete(EzHttpRequest:request_id)
{
    new EzHttpErrorCode:error_code = ezhttp_get_error_code(request_id)
    new uploaded_kb = ezhttp_get_downloaded_bytes(request_id) / 1024
    new Float:elapsed_sec = ezhttp_get_elapsed(request_id)

    server_print("FTP upload complete. Error: %d. Uploaded: %d kb. Elapsed: %f sec", error_code, uploaded_kb, elapsed_sec)
}
Автор
Polarhigh
Скачиваний
196
Просмотры
4K
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Polarhigh

Последние обновления

  1. Обновление до версии 1.3.0

    Fixed crash occurring at simultaneous completion of several requests (most often it happened...
  2. Обновление до версии 1.2.0

    Added built-in json support.
  3. Обновление до версии 1.1.1

    Убрана зависимость от gcc-multilib
Сверху Снизу