热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[工具开发]一信通Web短信发送客户端

一、简介为了协助公司运营部对几家短信平台进行测试,我根据各自的接口文档编写了几个简单的短信发送客户端;下面是一信通Web短信发送客户端,使用HTTPGET方法。二、效果图

一、简介

为了协助公司运营部对几家短信平台进行测试,我根据各自的接口文档编写了几个简单的短信发送客户端;

下面是一信通 Web 短信发送客户端,使用 HTTP GET 方法。

 

二、效果图

1. 首页

 

2. 返回页

 

三、源代码

1. index.pl

#!/usr/bin/perl -w

#Hu Peng
#penghu.zh@gmail.com

use strict;
use 5.10.1;
use CGI;
use Encode;

my $form_action = '/yxt/send.pl';

my $q = CGI->new;

my $smsMsg = '您的验证码为1232';

print   $q->header(-type=>'text/html',-charset=>'UTF-8'),
    $q->start_html(-title=>'一信通短信平台测试'),
    $q->start_form(-action=>$form_action, -method=>'post'),
    $q->p({-align=>'center'},'一信通短信平台测试'),

        $q->start_table({-align=>'center',-border=>'0',-cellpadding=>'4',-cellspacing=>'0'}),

    $q->start_Tr,
    $q->start_td({-align=>'left'}),'短信内容:  '.$q->input({-id=>'smsMsg',-type=>'text',-name=>'smsMsg',-value=>$smsMsg}),$q->end_td,
    $q->end_Tr,

    $q->start_Tr,
    $q->start_td({-align=>'left'}),'接收号码:  '.$q->input({-id=>'smsPhone',-type=>'text',-name=>'smsPhone',-title=>'多个号码用,隔开'}),$q->end_td,
    $q->end_Tr,

    $q->end_table,

    $q->p({-align=>'center'},$q->submit(-value=>'发 送')),
        $q->end_form,
        $q->br,
    $q->end_html;

 

2. send.pl

#!/usr/bin/perl -w

#Hu Peng
#penghu.zh@gmail.com

use strict;
use 5.10.1;
use CGI;
use Encode;
use LWP::UserAgent;

my $form_action = '/yxt/index.pl';
my $q = CGI->new;

sub sendSMS {
    my ($opt_u,$opt_p,$opt_r,$opt_m) = @_;
        my $msg = encode('gbk',decode('utf8',$opt_m));

        my $ua = LWP::UserAgent->new;
        my $url = 'http://js.ums86.com:8899/sms/Api/Send.do?SpCode=201971&LoginName='.$opt_u.'&Password='.$opt_p.'&MessageCOntent='.$msg.'&UserNumber='.$opt_r.'&SerialNumber=&ScheduleTime=&f=1';
        my $resp = $ua->get($url);

        if ($resp->is_success) {
                my $message = encode('utf8',decode('gbk',$resp->decoded_content));
                return "$message\n";
        }else{
                return "HTTP GET error code: ".$resp->code.':'.$resp->message."\n";
        }
}

my $smsMsg = defined($q->param('smsMsg'))?$q->param('smsMsg'):'';
my $smsPhone = defined($q->param('smsPhone'))?$q->param('smsPhone'):'';

my $return = &sendSMS('YOUR_ACCOUNT','YOUR_PASSWORD',$smsPhone,$smsMsg);

print   $q->header(-type=>'text/html',-charset=>'UTF-8'),
    $q->start_html(-title=>'一信通短信平台测试'),
    $q->start_form(-action=>$form_action, -method=>'post'),
    $q->p({-align=>'center'},'一信通短信平台测试'),

        $q->start_table({-align=>'center',-border=>'0',-cellpadding=>'4',-cellspacing=>'0'}),

    $q->start_Tr,
    $q->start_td({-align=>'left'}),'返回信息:  '.$return,$q->end_td,
    $q->end_Tr,

    $q->end_table,

    $q->p({-align=>'center'},$q->submit(-value=>'返 回')),
        $q->end_form,
        $q->br,
    $q->end_html;

 


推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
author-avatar
laosiji
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有