以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  直接运行代码可以发送短信,采用页面后就无法发送短信,麻烦老师看看!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=163053)

--  作者:cnsjroom
--  发布时间:2021/4/22 10:09:00
--  直接运行代码可以发送短信,采用页面后就无法发送短信,麻烦老师看看!


duanxin函数名代码如下:(单独运行这个函数代码是可以成功推送短信)
Dim e As RequestEventArgs = args(0)
Dim t As Date= Date.Now
Dim t1 As String =Format(Date.Now, "yyyMMddHHmmss")
Dim Val As String = Rand.Next(1000) \'
Dim s As String = val.PadLeft(4, "0")
Dim password As String= "qnrmjcy " \'接入密码
Dim t2 As String = password & t1 & s
Dim account As String = "85154 "  \'接入账号
Dim serviceCode As String = "1065712 " \'接入号
Dim authCode As String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(t2, "MD5")
Dim reqNo As String = t1 & s
Dim msisdn As String ="1555555555"
Dim sem As String ="测试123456"
Output.Show(sem) \'改为发送的代码\'
Dim content1 As String =Functions.Execute("utf8",sem)
Dim hc1 As New HttpClient("http://218.201.202.174:8900/smstemp/http/sendSms?account="&account.Trim()&"&reqNo="&reqNo.Trim()&"&authCode="&authCode.Trim()&"&serviceCode="&serviceCode.Trim()&"&msisdn="&msisdn.Trim()&"&c&msgType=0")
Dim ret1 As String = hc1.GetData()
output.show(ret1)


utf8函数代码如下:
Dim e As RequestEventArgs = args(0)
Dim szInput As String = Args(0)
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
If szInput = "" Then
    szRet = szInput
    Exit Function
End If
For x = 1 To Len(szInput)
    wch = Mid(szInput, x, 1)
    nAsc = AscW(wch)
    If nAsc < 0 Then nAsc = nAsc + 65536
    If (nAsc And &HFF80) = 0 Then
        szRet = szRet & wch
    Else
        If (nAsc And &HF000) = 0 Then
            uch = "%" & Hex(((nAsc \\ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
            szRet = szRet & uch
        Else
            uch = "%" & Hex((nAsc \\ 2 ^ 12) Or &HE0) & "%" & _
            Hex((nAsc \\ 2 ^ 6) And &H3F Or &H80) & "%" & _
            Hex(nAsc And &H3F Or &H80)
            szRet = szRet & uch
        End If
    End If
Next
Return  szRet




sem页面代码如下:【不能成功发送信息,求解】
Dim e As RequestEventArgs = args(0)
Dim wb As New weui
If e.PostValues.Count = 0 Then
    wb.AddForm("","form1","sem.htm")
    With wb.AddInputGroup("form1","ipg1","信息编辑")
        .AddInput("电话号码","电话号码","text")
    End With
    With wb.AddInputGroup("form1","ipg2","信息内容")
        .AddTextArea("信息内容",10).Placeholder = "请输入500字以内的信息内容"
    End With
    With wb.AddButtonGroup("form1","btg1",True)
        .Add("btn1", "确定", "submit")
    End With
    e.WriteString(wb.Build)
Else
    Dim t As Date= Date.Now
    Dim t1 As String =Format(Date.Now, "yyyMMddHHmmss")
    Dim Val As String = Rand.Next(1000) \'
    Dim s As String = val.PadLeft(4, "0")
    Dim password As String= "qnrmjcy " \'接入密码
    Dim t2 As String = password & t1 & s
    Dim account As String = "85154 "  \'接入账号
    Dim serviceCode As String = "1065712 " \'接入号
    Dim authCode As String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(t2, "MD5")
    Dim reqNo As String = t1 & s
    Dim msisdn As String =e.PostValues.ContainsKey("电话号码")
    Dim sem As String =e.PostValues.ContainsKey("信息内容")
    MessageBox.Show(sem)
    Output.Show(sem) \'改为发送的代码\'
    Dim content1 As String =Functions.Execute("utf8",sem)
    Dim hc1 As New HttpClient("http://218.201.202.174:8900/smstemp/http/sendSms?account="&account.Trim()&"&reqNo="&reqNo.Trim()&"&authCode="&authCode.Trim()&"&serviceCode="&serviceCode.Trim()&"&msisdn="&msisdn.Trim()&"&c&msgType=0")
    Dim ret1 As String = hc1.GetData()
    output.show(ret1)
    MessageBox.Show(sem) \'改为发送的代码\'
    With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") \'生成成功提示页
        .AddButton("btn1","继续增加","sem.htm")
    End With
    e.WriteString(wb.Build)
End If

--  作者:有点蓝
--  发布时间:2021/4/22 10:19:00
--  
    Dim reqNo As String = t1 & s
    Dim msisdn As String =e.PostValues("电话号码")
    Dim sem As String =e.PostValues("信息内容")
 MessageBox.Show(msisdn )
    MessageBox.Show(sem )

--  作者:cnsjroom
--  发布时间:2021/4/22 11:11:00
--  回复:(有点蓝)    Dim reqNo As String ...
有点蓝老师   可以弹出对应的电话号码  信息内容值  但是就是没有成功推送信息到对应的电话号码上

以下内容是专门发给有点蓝浏览



--  作者:有点蓝
--  发布时间:2021/4/22 11:14:00
--  
output.show(ret1)显示什么内容
--  作者:cnsjroom
--  发布时间:2021/4/22 11:21:00
--  回复:(有点蓝)output.show(ret1)显示什么内容
直接运行duanxin函数代码得到
output.show(ret1)显示result=0,202104221119171264
是显示短信发送成功的标志   0代表发送成功


sem页面运行时候,
output.show(ret1)  没有任何内容显示

图片点击可在新窗口打开查看此主题相关图片如下:屏幕截图 2021-04-22 113921.png
图片点击可在新窗口打开查看
先增加页面(函数名)  然后生成页面(生成内部函数)打开页面(直接
调取内部函数生成页面)

以下内容是专门发给有点蓝浏览



[此贴子已经被作者于2021/4/22 11:41:03编辑过]

--  作者:有点蓝
--  发布时间:2021/4/22 12:19:00
--  
utf8函数有问题,建议去掉项目是屏蔽错误的事件代码,可以弹出错误提示,或者去看日志。

另外这种用法建议先把表格代码放到内部函数里测试通过后,再放回表格里测试,否则不好调试。

--  作者:cnsjroom
--  发布时间:2021/4/22 12:48:00
--  回复:(有点蓝)utf8函数有问题,建议去掉项目是屏蔽...
老师是否可以继续指导下呢?
utf8这个函数代码  duanxin这个函数代码  在项目内部函数中调试都可以通过的  且能够正确发送短信
现在不晓得问题到底出现在哪里   ……

--  作者:有点蓝
--  发布时间:2021/4/22 13:55:00
--  
新建一个项目,把表格里的代码直接放到内部函数里测试,测试通过后再搬回原项目

utf8函数代码如下:
Dim e As RequestEventArgs = args(0) 很明显这句就是错的,我不明白为什么可以测试通过
Dim szInput As String = Args(0)

--  作者:cnsjroom
--  发布时间:2021/4/23 9:19:00
--  回复:(有点蓝)新建一个项目,把表格里的代码直接放...
谢谢老师   在老师的指导下  我更新了代码生成方式  去掉Dim e As RequestEventArgs = args(0) 则运行正常了   谢谢!