Perl, как перевести скрипт из php в perl?

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение brainiac » 2011-05-10 15:14:43

Уважаемые гуру, помогите перенести скрипт из php в Perl .
Собсно на пхп то все пучком, мне нужно на перле это сделать, скока запросов и поисков не делал в гугл и яндых так и не воткнул :st: , как реализовать на перле.
Вот что на пхп:

Код: Выделить всё

#!/usr/local/php/bin/php
<?php
$text="Hello бойз энд гёрлс";
$smstext = iconv ('koi8-r', 'utf-8', $text);
$str = "<?xml version='1.0' encoding='UTF-8'?>
<data>
<login>my_login</login>
<password>here_password</password>
<action>send</action>
<text>".$smstext."</text>
<to number='7xxxxxxxxxx'></to>
</data>";
$url = "https://go-to-sms.com:7214/send.xml";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 3); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, $str); // add POST fields
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$result = curl_exec($ch);
curl_close($ch);
header ("Content-type: text/plain");
//echo $result;
?>
На перле наваял примерно такое наскока соображалки хватило.:

Код: Выделить всё

#!/usr/bin/perl -w
use strict;
use LWP;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new();
$ua->agent("PerlUA/0.1");
my $url = "https://go-to-sms.com:7214/send.xml";
my $request = POST $url;
my $document = $ua->request($request);
if ($document->is_success)
{
        print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
        print "<data>\n";
        print "<login>Login</login>\n";
        print "<password>password</password>\n";
        print "<action>send</action>\n";
        print "<text>TEXT</text>\n";
        print "<to number='+7xxxxxxxxx'></to>\n";
        print "</data>\n";
}
exit(0);
он вроде как без ошибок отрабатывает, но ниче не посылает. Блин замаялся, народ мож поможет кто как на перле сделать правильно?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение ProFTP » 2011-05-10 15:19:28

Код: Выделить всё

print $document->as_string;
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

Re: Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение brainiac » 2011-05-10 15:53:56

Сделал так:

Код: Выделить всё

#!/usr/bin/perl -w
use strict;
use LWP;
use HTTP::Request::Common;
my $ua = LWP::UserAgent->new();
$ua->agent("PerlUA/0.1");
my $url = "https://go-to-sms.com:7214/send.xml";
my $request = POST $url;
my $document = $ua->request($request);
if ($document->is_success)
{
        print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
        print "<data>\n";
        print "<login>Login</login>\n";
        print "<password>password</password>\n";
        print "<action>send</action>\n";
        print "<text>TEXT</text>\n";
        print "<to number='+7xxxxxxxxx'></to>\n";
        print "</data>\n";
}
print $document->as_string;
exit(0);
В ответ получаю

Код: Выделить всё

500 Can't connect to go-to-sms.com:7214 (certificate verify failed)
Content-Type: text/plain
Client-Date: Tue, 10 May 2011 12:42:00 GMT
Client-Warning: Internal response

Can't connect to go-to-sms.com:7214 (certificate verify failed)

LWP::Protocol::https::Socket: SSL connect attempt failed with unknown errorerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at /usr/local/lib/perl5/site_perl/5.10.1/LWP/Protocol/http.pm line 51.

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение thefree » 2011-05-11 17:34:43

модуль socket ssl стоит?
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение thefree » 2011-05-11 17:44:39

и вообще то что написано у вас бред (: если честно читайте инфу по модулю HTTP::Request::Common пишится всё в 2-3 строки
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

brainiac
рядовой
Сообщения: 38
Зарегистрирован: 2011-05-10 14:59:08

Re: Perl, как перевести скрипт из php в perl?

Непрочитанное сообщение brainiac » 2011-05-11 18:52:19

Знаю что бред потому и спрашивал, знал бы - не просил.
Сделал все проще, просто передаю из перлового скрипта в пхпшный параметры и все работает на ок.

пээс
Если кто сделат скрипт на перле буду благодарен, хотя думаю и остальным он будет полезен.