Бесплатная и простая в использовании библиотека для передачи
URL-адреса со стороны клиента, поддерживающая
почти каждый протокол.
Вебсайт: http://curl.haxx.se/libcurl/
Поддерживаемые платформы: Win32, Linux, DOS
Заголовки: curl.bi
Версия заголовков: 7.24.0
Примеры: в examples/network/curl/
Пример
'' Пример Curl HTTP Get
#include once "curl.bi"
#include once "crt/string.bi"
'' Этот обратный вызов каких-либо
данных
Private Function write_callback cdecl _
( _
ByVal buffer As Byte Ptr, _
ByVal size As Integer, _
ByVal nitems As Integer, _
ByVal outstream As Any Ptr _
) As Integer
Static As ZString Ptr zstr = 0
Static As Integer maxbytes = 0
Dim As Integer bytes = size * nitems
'' текущий zstring буфер мал?
If( maxbytes < bytes ) Then
zstr = Reallocate( zstr, bytes + 1 )
maxbytes = bytes
End If
'' "buffer" не
содержит ноль в конце, поэтому мы должны его добавить
memcpy( zstr, buffer, bytes )
zstr[bytes] = 0
'' просто распечатываем его..
Print *zstr
Return bytes
End Function
'' инициализация
Dim As CURL Ptr curl = curl_easy_init( )
If( curl = 0 ) Then
End 1
End If
'' Устанавливаем адрес и обратный
вызов
curl_easy_setopt( curl, CURLOPT_URL, "freebasic.net" )
curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, @write_callback )
'' выполнение..
curl_easy_perform( curl )
'' завершение
curl_easy_cleanup( curl )