AutoIt: 3.3.12.0
Версия: 2.0
Категория: Интернет, Кодирование, Шифрование, Сеть
Описание: Набор функций для выполнения сетевых запросов с помощью libcurl.dll
Документация по cURL
Состав:
Код/Пример: Example.au3
Код/Пример: Example_WriteFuncMode.au3
Файл Include Runtime: cURL_UDF.zip
Файл External Runtime: cURL_UDF.zip
История версий:
P.S. Архивы отличаются количеством и весом dll.
Источник: autoit-script.ru
Автор(ы): BIOS
Версия: 2.0
Категория: Интернет, Кодирование, Шифрование, Сеть
Описание: Набор функций для выполнения сетевых запросов с помощью libcurl.dll
Документация по cURL
Состав:
- libcurl.dll - libcurl.dll v.7.42.1
- cURL.dll - wrapper для AutoIT
- msvcr120.dll - зависимость из C++ Redistributable (Если в системе установлен Microsoft Visual C++ Redistributable, то не нужна)
- msvcr120d.dll - зависимость из C++ Redistributable (Если в системе установлен Microsoft Visual C++ Redistributable, то не нужна)
- cURL.au3 - UDF
- cURLConstants.au3 - Константы
- Example_WriteFuncMode.au3 - Пример работы с Callback функцией приема ответа
Код/Пример: Example.au3
Код:
#include "cURL.au3"
#include "cURLConstants.au3"
$sHeaders = ''
$sBody = ''
_cURL_Startup()
$hCURL = _cURL_Easy_Init()
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_URL, "http://google.com/")
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_FOLLOWLOCATION, 1)
Dim $aHeaders[2] = ['Header1: Value1', 'Header2: Value2']
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_HTTPHEADER, $aHeaders)
$sResponse = _cURL_Easy_Exec($hCURL)
_cURL_Easy_Cleanup($hCURL)
ConsoleWrite('Response: ' & @CRLF & $sResponse)
_cURL_Shutdown()
Код:
#include "cURL.au3"
#include "cURLConstants.au3"
$sHeaders = ''
$sBody = ''
_cURL_Startup()
$hCURL = _cURL_Easy_Init()
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_URL, "http://google.com/")
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_FOLLOWLOCATION, 1)
Dim $aHeaders[2] = ['Header1: Value1', 'Header2: Value2']
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_HTTPHEADER, $aHeaders)
_cURL_Easy_SetWriteFuncMode($hCURL)
$callb = DllCallbackRegister('cURL_CallBack', 'int', $cURL_tagCALLBACKARGS)
$structHeaders = DllStructCreate($cURL_tagCALLBACKDATA)
DllStructSetData($structHeaders, 'func', DllCallbackGetPtr($callb))
DllStructSetData($structHeaders, 'data', 1)
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_HEADERDATA, DllStructGetPtr($structHeaders))
$structBody = DllStructCreate($cURL_tagCALLBACKDATA)
DllStructSetData($structBody, 'func', DllCallbackGetPtr($callb))
DllStructSetData($structBody, 'data', 2)
_cURL_Easy_SetOpt($hCURL, $cURL_OPT_WRITEDATA, DllStructGetPtr($structBody))
_cURL_Easy_Perform($hCURL)
_cURL_Easy_Cleanup($hCURL)
_cURL_Shutdown()
ConsoleWrite('Headers:' & @CRLF & $sHeaders & @CRLF & '-------------------------' & @CRLF & @CRLF)
ConsoleWrite('Body:' & @CRLF & $sBody & @CRLF)
Func cURL_CallBack($pAddr, $iSize, $iCount, $pExtra)
$struct = DllStructCreate('char val[' & ($iSize * $iCount) & ']', $pAddr)
If $pExtra = 1 Then $sHeaders &= DllStructGetData($struct, 'val')
If $pExtra = 2 Then $sBody &= DllStructGetData($struct, 'val')
$struct = 0
Return $iSize * $iCount
EndFunc ;==>cURL_CallBack
Файл Include Runtime: cURL_UDF.zip
Файл External Runtime: cURL_UDF.zip
История версий:
1.0
- _cURL_Startup
- _cURL_Init
- _cURL_SetOpt
- _cURL_SetWriteFuncMode
- _cURL_Perform
- _cURL_Cleanup
- _cURL_Shutdown
- _cURL_Init => _cURL_Easy_Init
- _cURL_SetOpt => _cURL_Easy_SetOpt
- _cURL_SetWriteFuncMode => _cURL_Easy_SetWriteFuncMode
- _cURL_Perform => _cURL_Easy_Perform
- _cURL_Cleanup => _cURL_Easy_Cleanup
- _cURL_Version
- _cURL_Easy_Escape
- _cURL_Easy_DupHandle
- _cURL_Easy_Pause
- _cURL_Easy_Recv
- _cURL_Easy_Reset
- _cURL_Easy_Send
- _cURL_Easy_UnEscape
- _cURL_Free
- _cURL_GetDate
- _cURL_VersionInfo
- Добавил поддержку массивов для функции _cURL_Easy_SetOpt (Пока только для $cURL_OPT_HTTPHEADER)
- Сделал копирование параметров при установке (часто libcurl "забывал" переданные параметры)
- Исправил падения при некоторых вызовах с использованием ssl
- _cURL_Easy_Exec
- _cURL_Multi_AddHandle
- _cURL_Multi_Cleanup
- _cURL_Multi_InfoRead
- _cURL_Multi_Init
- _cURL_Multi_Perform
- _cURL_Multi_RemoveHandle
- _cURL_Multi_SetOpt
- _cURL_Multi_SetTimerFuncMode
P.S. Архивы отличаются количеством и весом dll.
Источник: autoit-script.ru
Автор(ы): BIOS
Последнее редактирование модератором: