Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> pushall 
V
    Опции темы
od0201
Дата 12.11.2018, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 16.1.2009

Репутация: 1
Всего: 1



Есть мобильный сервис pushall, аналог pushover, но бесплатный. Отсылаю сам себе уведомления о важных событиях через API.
GET прекрасно работает, а вот POST отвечает "{"error":"cant find this type"}"

Код

use HTTP::Request;
use LWP::UserAgent;
my $url = "https://pushall.ru/api.php";
my $id="81400";
my $key="18d4b5912beab9267d9a431cb2c6хххх";

my $json = '{"type":"self","id":"'.$id.'","key":"'.$key.'","message":"test","title":"title"}';
my $req = HTTP::Request->new( 'POST', $url );
$req->header( 'Content-Type' => 'application/json' );
$req->content( $json );
my $lwp = LWP::UserAgent->new;
$response1=$lwp->request( $req );


в качестве примера есть код на PHP (я в нем ноль, но на работоспособность проверил, рабочий)
Код

$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => "https://pushall.ru/api.php",
CURLOPT_POSTFIELDS => array(
    "type" => "self",
    "id" => "1",
    "key" => "0077f8aba41b8f6e0030e9b2b0b23f7b",
    "text" => "Тестовое сообщение",
    "title" => "Заголовок"
  ),
  CURLOPT_RETURNTRANSFER => true
));
$return=json_decode(curl_exec($ch)); //получить ответ или ошибку
curl_close($ch);


Это сообщение отредактировал(а) od0201 - 13.11.2018, 02:56
PM MAIL   Вверх
arto
Дата 12.11.2018, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



print $json
PM MAIL ICQ   Вверх
od0201
Дата 13.11.2018, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 16.1.2009

Репутация: 1
Всего: 1



Цитата(arto @  12.11.2018,  13:38 Найти цитируемый пост)
print $json 

да, там была описка, которую я допустил при составлении поста, исправил, но ситуация не изменилась
PM MAIL   Вверх
alezzz
Дата 13.11.2018, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 1
Всего: 14



а обычным post из LWP::UserAgent вместо HTTP::Request не пробовали?
PM MAIL   Вверх
arto
Дата 13.11.2018, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



поменяйте https на http и посмотрите, что там шлётся в обоих случаях.

Добавлено через 5 минут и 40 секунд
как я понял, CURLOPT_POSTFIELDS не относится к JSON, а скорре к multipart/form-data
PM MAIL ICQ   Вверх
od0201
Дата 13.11.2018, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 126
Регистрация: 16.1.2009

Репутация: 1
Всего: 1



Цитата

поменяйте https на http и посмотрите, что там шлётся в обоих случаях.

301 Moved Permanently

Цитата

а обычным post из LWP::UserAgent вместо HTTP::Request не пробовали?

Пробовал, Работает  smile 
Всем спасибо
Всем рекомендую PushAll. Нет \n, но бесплатен. Для себя использовал бы PushOver за 5 $?, но так как задача была поставлена подключить большое количество пользователей, у которых, как правило, даже кредитка не подключена для оплаты приложения, то это вариант прекрасен.
Код

sub test{
use LWP::UserAgent;
my $url = "https://pushall.ru/api.php";
my $id="81400";
my $key="18d4b5912beab9267d9a431cb2c6ef00";

my $ua = LWP::UserAgent->new();
my $response = $ua->post( $url, {
 type=> 'self',
 id=> $id,
 key=> $key,
 text=>'текст',
 title=>'заглавие'
} );
print $response->decoded_content();
}


Добавлено через 31 секунду
 smile 
PM MAIL   Вверх
arto
Дата 14.11.2018, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1495
Регистрация: 31.10.2004

Репутация: 38
Всего: 40



Цитата

301 Moved Permanently


но запрос должен быть виден
PM MAIL ICQ   Вверх
bezludni
Дата 7.1.2019, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.1.2019

Репутация: нет
Всего: нет



 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.