Search     or:     and:
 LINUX 
 Language 
 Kernel 
 Package 
 Book 
 Test 
 OS 
 Forum 
 iakovlev.org 
 Packages
 Make 
 Iptables 
 Nmap 
 Apache 
 LFS 
 TUX 
 cURL 
 libpcap 
 Parted 
 Httpd 
 File managers 
 FFMPEG 
 RTMP 
 SQL 
 Test 
NEWS
Последние статьи :
  Алгоритмы 12.04   
  Rust 07.11   
  Go 25.12   
  EXT4 10.11   
  FS benchmark 15.09   
  Сетунь 23.07   
  Trees 25.06   
  Apache 03.02   
  SQL 30.07   
  Python 10.06   
 
TOP 20
 Part 3...299 
 Part 4...295 
 Kamran Husain...190 
 Commands...171 
 Secure Programming for Li...169 
 2.0-> Linux IP Networking...140 
 Ethreal 1...121 
 William Gropp...117 
 Сетунь...115 
 Stein-MacEachern-> Час...114 
 Trees...113 
 Python...112 
 Steve Pate 2...110 
 Steve Pate 3...109 
 Plusquellic 1...108 
 C++ Patterns 2...108 
 Part 2...108 
 Httpd-> История Ap...108 
 VPN...107 
 Ethreal 4...107 
 
  01.10.2020 : 2983014+ посещений 

iakovlev.org

cURL FAQ

 
 

FAQ

cURL - это название проекта , которое можно трактовать как 'Client for URLs' или 'Client URL Request Library'. Библиотеку можно скачать по адресу http://curl.haxx.se/libcurl/ . Проект состоит из 2-х продуктов : 1 libcurl - библиотека , поддерживающая FTP,FTPS,HTTP, HTTPS,GOPHER,TELNET,DICT,FILE,LDAP. Поддержка HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling. 2. curl - командная утилита для получения и отсылки файлов В libcurl прописан интерфейс основных интернет-протоколов . Ее можно свободно использовать в своих приложениях. В то же время curl не является клоном wget , он предназначен для трансфера единичных файлов . Curl также не является программой для зеркалирования сайтов , хотя вам никто не запрещает написать скрипт с использованием Curl для зеркалирования . Также Curl мультиплатформенный . Список языков , для которых есть библиотечный интерфейс : Basic, C, C++, Cocoa, Dylan, Euphoria, Java, Lua, Object-Pascal, Pascal, Perl, PHP, PostgreSQL, Python, Rexx, Ruby, Scheme , Tcl. Например , для того чтобы сделать пост на какой-то адрес , можно набрать команду : curl -d "datatopost" -H "Content-Type: text/xml" [URL] В Curl нет встроенной поддержки javascript . При работе Curl с SSL нужно различать 3 основных типа сертификатов : 1. Client certificate - иногда SSL-сервер может затребовать его у вас 2. Server certificate - обязателен для SSL-сервера . При коннекте с таким сервером Curl проверяет его с помощью Certificate Authority certificate ("CA cert"). Проверка успешно может не состояться, тогда вам будет отказано в доступе. В этом случае можно попробовать с вашей стороны задисэблить эту проверку . 3. - Certificate Authority certificate ("CA cert") - При работе с Curl возможно получение следующих ошибок 4.5.1 "400 Bad Request" 4.5.2 "401 Unauthorized" 4.5.3 "403 Forbidden" 4.5.4 "404 Not Found" 4.5.5 "405 Method Not Allowed" 4.5.6 "301 Moved Permanently" Начиная с версии 7.10 Curl работает с NTLM - проприетарным протоколом от сами знаете кого . libcurl написана с использованием трэдов . Ниже показана техника , с помощью которой можно записать всю полученную информацию с удаленного сервера в память , а не в файл : для этого нужно определить структуру памяти и указатель на нее передать в callback-функцию : /* imaginary struct */ struct MemoryStruct { char *memory; size_t size; }; /* imaginary callback function */ size_t WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; struct MemoryStruct *mem = (struct MemoryStruct *)data; mem->memory = (char *)realloc(mem->memory, mem->size + realsize + 1); if (mem->memory) { memcpy(&(mem->memory[mem->size]), ptr, realsize); mem->size += realsize; mem->memory[mem->size] = 0; } return realsize; } Для получения с помощью Curl нескольких файлов нужно в цикле использовать вызовы curl_easy_setopt() curl_easy_perform().
Оставьте свой комментарий !

Ваше имя:
Комментарий:
Оба поля являются обязательными

 Автор  Комментарий к данной статье
Andre
  пояснительно!
для того чтобы понять что такое курл - не очень много, но чтото понятно!
2006-06-12 13:38:12
Николай
  Оч. класный перевод. Мы все с нетерпением ждем продолжения. ух блин почти стихами получается =)
2007-02-05 09:11:46