Перейти к контенту

Рекомендуемые сообщения

Не могу понять, почему всё время из моего перл скрипта перл лезит ошибка 500

 

Я ставил его всюду, от локалхоста - до платного хостинга.... даже любой самый простой скрипт с одной командой print выдаёт ошибку 500....

 

Шозанах? и чё с ним делать? РРРРРРР! :D;)

 

 

Только не надо мне втирать что это внутреняя ошибка хостинга

 

Пример скрипта :

 

#!/usr/bin/perl

warn "Загрузка ...\n\n";

# модули

use strict;
use warnings;
use LWP;
use HTTP::Request::Common;
use HTML::Parser;

# константы: 1-я адрес странички с формой, 2-я адресс самого скрипта.

use constant SMS_CENTER => 'http://telecom.com.ua/smsgate/';
use constant SMS_SCRIPT => 'http://telecom.com.ua/cgi-bin/sms/sms.pl';

########################### Прием данных для отсылки KOI8-ru ###############

print "Kyiv Star 067XXXXXXX\n
	UMC 050XXXXXXX\n
	Goblin Telecom 039XXXXXX\n
	WellCOM 068XXXXX\n
	Номер телефона получателя:\n";
my $to_addr = <STDIN>; chomp($to_addr); $to_addr = '0000000000' unless $to_addr;

print "Распознает ли получатель кирилицу? (0 - Нет) (1 - Да)\n";
my $dcs = <STDIN>; chomp($dcs); $dcs = 0 unless $dcs;

print "Текст сообщения:\n";
my $new_body = <STDIN>; chomp($new_body); 
$new_body = 'test message from LWP' unless $new_body;

######################## Отправка данных на сервер #############


############## Параметры типа браузера (спасибо perl.dp.ua :) ##################

my @ns_headers = (
	'User-Agent' => 'Mozilla/4.76 [ru] (Win98; U)',
	'Accept' => 'image/gif, image/x-xbitmap, image/jpeg,
	image/pjpeg, image/png, */*',
	'Accept-Charset' => 'koi8-ru,*,utf-8',
	'Accept-Language' => 'en-US',
);

######################## Подключение к серверу #############
$|=1; ### отключаем буферизацию
my $ua = LWP::UserAgent -> new;
$ua -> agent(@ns_headers, push@{$ua->requests_redirectable},'POST'); 

###### Идем за новой страницей с формой #########

my $request = HTTP::Request -> new(GET => SMS_CENTER); 
my $parser = HTML::Parser->new(api_version => 3); ### новый обьект разборщика

############# Настройка разборщика

### здесь разбирается название хэша и его значение. Этим займется функция start
my ($hash_name,$hash) = $parser ->handler(start => \&start, 'tagname,attr'); ### как атрибуты функции передаются имя тега и его значение

### значение цифровой подписи - функция hidden
my $cifer = $parser -> handler(comment =>\&hidden, 'tagname'); ## тут нам нужно только имя тега

my $response = $ua -> request($request, sub{$parser->parse(shift)}); ### получаем страницу и передаем разборщику
$parser->eof;### разборщик больше не нужен

die $response->status_line unless $response->is_success; ### "умираем" если нет ответа


system ('clear'); ### очищаем экран
print "Получены данные...\n
	Номер получателя: $to_addr\n
	Получение кирилицы: $dcs\n
	Сообщение: $new_body\n
	Данные хэша: $hash_name = $hash\n
	Подпись: $cifer\n\n
";

########### заполняем форму ###############

$request = POST(SMS_SCRIPT,
	Content=>[
		to_addr => $to_addr,
		dcs => $dcs,
		new_body => $new_body,
		$hash_name => $hash,
		no_spam => $cifer
	],
	Referer => SMS_CENTER
);
$response = $ua->request($request); ########## Отправляем на сервер 
die $response->status_line unless $response->is_success; ### если нет ответа - выходим


print $response->content;##### получаем (для отладки) ответ сервера




######################## functions #################
######## Все функции прозрачны если нужно описание будет.

sub start{
my ($tag, $attr) = @_;
if ($tag eq 'input'){
	return unless $attr->{type};
	if($attr->{type} eq 'hidden'){
	$hash_name=$attr->{name};
	$hash = $attr->{value};
	return;
}
}

}
sub hidden{
my ($tag) = @_;
if ($tag =~ m/(input type=hidden name=no_spam value=')(\w+)('*)/i){
	$cifer = $2;
	return;
}
}

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.