| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 562 人关注过本帖
标题:关于短信平台的问题
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
结帖率:87.69%
收藏
已结贴  问题点数:20 回复次数:15 
关于短信平台的问题
用vfp通过短信平台发送短信的问题:
短信平台的使用说明如下:https://www.
我的代码如下,但是没有成功,请帮我分析下:
程序代码:
    

PUBLIC ai,yy_fs_xinxi
ai=0
ON ERROR ai=1

cUrl="https://api./sms/trade/normal/send"
mytime=datetime()-datetime(1970,1,1,0,0,0)
mytime2=ALLTRIM(STR(mytime))  &&时间戳
test='AppId=10011649990910483&MchId=1002456&SignName=【枝江油库】&SignType=MD5&Timestamp='+mytime2+'&Type=1&Version=1.2.0&key=68d841cb24c011f0bd9200163e26'

LCFILE=SYS(1271,THISFORM)

Set Library To JUSTPATH(LCFILE)+"\ku\myFll"  
test2=MD5String(STRCONV(test,9))
Set Library To 


TEXT TO cData TEXTMERGE NOSHOW PRETEXT 7
{
      "Type":"1",
      "PhoneNumberSet":["17307215713","17307219175"],
      "AppId":"10011649990910483",
      "ExtendCode":"",
      "Version":"1.2.0",
      "MchId":"1002456",
       "Signature":"<<test2>>",
       "SessionContext":"nihao",
      "SignType":"MD5",
      "Timestamp":"<<mytime2>>",
      "SignName":"【枝江油库】"
     
  }
ENDTEXT
yy_fs_xinxi=SendData(cUrl, cData)

RETURN ai
IF ai=1
   =MESSAGEBOX("发送失败,网络没有连接")
  RETURN
ELSE
   =MESSAGEBOX("短信已经成功发送")
endif  
thisform.refresh

RETURN    


搜索更多相关主题的帖子: 发送 短信 RETURN Set 平台 
5 天前 10:26
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:915
专家分:1401
注 册:2021-10-13
收藏
得分:10 
有没有错误提示?这个api提供商是怎么收费的?

有错误提示才好判断哪里出错,或者联系api供应商,寻求帮助
5 天前 10:46
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
收藏
得分:0 
帮我看下时间戳的生成正确吗?还有SendData这个函数论坛告诉我的,但是VFP好像没有这个函数



[此贴子已经被作者于2025-5-24 11:09编辑过]

5 天前 11:07
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:915
专家分:1401
注 册:2021-10-13
收藏
得分:0 
回复 3楼 fanjinyu9108
这个程序只能你运行,我们应该运行不了的。

senddata和md5string应该是myfll.fll里的函数,你的那句Set Library To 是不是发出早了,应该在完成程序功能后发出。
5 天前 11:26
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
收藏
得分:0 
好,先解决时间戳的问题,但时间是2023-05-23 20:10:17的时候,短信平台计算出来的时间戳是1748002217000,但是我用先发的程序计算出来的结果是1748031017,是不是计算方法有问题,下面是我的代码:
time1=CTOT("2025-05-23 20:10:17")
mytime=time1-datetime(1970,1,1,0,0,0)
mytime2=ALLTRIM(STR(mytime))  &&时间戳
5 天前 11:32
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:915
专家分:1401
注 册:2021-10-13
收藏
得分:0 
回复 5楼 fanjinyu9108
应该是时区不对,vfp环境选项里看看是不是美国的时区?
程序代码:
* utctime.prg
PARAMETERS lttime
IF PARAMETERS()=0
    lttime=DATETIME()
ENDIF
RETURN     lttime-{^1970-01-01 00:00:00 }-8*3600



[此贴子已经被作者于2025-5-24 12:04编辑过]

5 天前 11:45
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
收藏
得分:0 
实在抱歉,关于带参数的程序,我还不知道怎么调用,比如表单按钮的CLICK事件,怎么调用?utctime(datetime()),是这样吗?
5 天前 13:40
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:915
专家分:1401
注 册:2021-10-13
收藏
得分:0 
回复 7楼 fanjinyu9108
这程序就是一个函数而已,返回一个指定时间的utc值。

用法:
para=datetime()
ntime=utctime(para)
?ntime &&返回值

ntime可以在同一段程序中任何你想用的地方
5 天前 13:53
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
收藏
得分:0 
sam_jiang师傅,您好,?ntime返回值是一个10位数字,但是短信平台返回的是13位数字,能不能就计算time1=CTOT("2025-05-23 20:10:17")的时间戳,看看是否和短信平台网站的计算结果一致,还有,您说的vfp环境选项在哪里设置啊?
5 天前 15:41
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:732
专家分:20
注 册:2014-1-16
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
5 天前 15:48
快速回复:关于短信平台的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023069 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved