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

addons AmxxEasyHttp 1.4.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
Скачиваний
254
Просмотры
5K
Первый выпуск
Обновление
Оценка
5.00 звёзд 1 оценок

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

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

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

    Добавлена поддержка PUT, PATCH, DELETE запросов Добавлена поддержка HTTP keep-alive
  2. Обновление до версии 1.3.0

    Исправлен краш, возникающий при одновременном выполнении нескольких запросов (чаще всего это...
  3. Обновление до версии 1.2.0

    Добавлена встроенная поддержка json

Последние рецензии

Огромнейшее спасибо"!
Сверху Снизу