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

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

Не могу понять, почему всё время из моего перл скрипта перл лезит ошибка 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;
}
}

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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