Макс

Родной город: Омск

Фото галерея: смотреть

Контакты: написать

О себе:

Интересы:

- программирование

- интернет

- психология

- менеджмент

- автоматизация

Погляди
Голосование

Нравиться ли вам блог

  Да
  Нет
  Я тут случайно

 

ГлавнаяКарта сайтаПечать страницы

Подключение библеотеки Curl (CentOS, Red Hat)

В частности будет идти речь о установки Curl для Perl

Устанавливаем curl из репозитария YUM

# yum install curl-devel
# yum install curl

Далее запускаем инсталятор модулей для Perl

# perl -MCPAN -e shell

Если CPAN не настроен, он попросит Вас настроить его, жмем везде Enter дойдя до региона и страны, там подумайте и выберете подходящий (я выбрал Европа, Россия) и далее первый репозитарий.

После настройки Вы попадете в шел CPAN:

cpan> i /WWW-Curl/

Смотрим какие модули установлены , выдаст, что в этом роде:

CPAN: Storable loaded ok (v2.15)
Going to read /root/.cpan/Metadata
Database was generated on Sun, 03 May 2009 23:26:57 GMT
Distribution ANDREMAR/WWW-Curl-Simple-0.03.tar.gz
Distribution SZBALINT/WWW-Curl-4.06.tar.gz

cpan> install SZBALINT/WWW-Curl-4.06.tar.gz

Жмем везде Enter;

Так же система установки модулей понимает и другой синтаксис, к примеру:

cpan> install WWW::Curl

Вот собственно и вся установка для тестирования можете проверить, данным кодом, он загрузит и отобразит HTML код страницы http://www.ya.ru

#!/usr/bin/perl
# Test script for Perl extension Curl::easy.
# Check out the file README for more info.
use strict;
use WWW::Curl::Easy;
my $url = "http://www.ya.ru/";
print "Testing curl version ",WWW::Curl::Easy::version()," ";
# Init the curl session
my $curl= WWW::Curl::Easy->new() or die "curl init failed! ";
# Follow location headers
$curl->setopt(CURLOPT_FOLLOWLOCATION, 1);
# Add some additional headers to the http-request:
my @myheaders=(
"I-am-a-silly-programmer: yes indeed you are",
"User-Agent: Perl interface for libcURL"
);
$curl->setopt(CURLOPT_HTTPHEADER, @myheaders);
$curl->setopt(CURLOPT_URL, $url);
sub body_callback {
my ($chunk,$context)=@_;
push @{$context}, $chunk;
return length($chunk); # OK
}
$curl->setopt(CURLOPT_WRITEFUNCTION, &body_callback);
my @body;
$curl->setopt(CURLOPT_FILE, @body);
if ($curl->perform() != 0) {
print "Failed ::".$curl->errbuf." ";
};
#
# Cleanup is automatic
#
print join("",@body);