以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]短信发送的换行符  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62875)

--  作者:Gryvip
--  发布时间:2015/1/9 14:22:00
--  [求助]短信发送的换行符
Dim ln As String = vbcrlf & vbcrlf \'定义两个换行
    Dim drs As List(Of DataRow) = DataTables("股票信息").Select("龙头 = 1","股票代码") \'"发送内容 Is not null","好友手机")
    Dim fsnr As String = ""
    For Each dr As DataRow In drs
        fsnr = fsnr & vbcrlf & "股票代码:" & dr("股票代码") & ",当前价格:" & Format(dr("当前价格"),"00.00") & ";" & vbcrlf
    Next
    
    
    Dim web As New System.Windows.Forms.WebBrowser()
    web.Navigate("http://quanapi.sinaapp.com/fetion.php?u=" & fxsj & "&p=" & fxmm & "&to=" & jssj & "&m=" & fsnr)
    Do Until web.ReadyState = 4
        Application.DoEvents
    Loop

上述代码在命令窗口执行,可以正确换行,将内容黏贴到其他文档也正常换行,但是发送信息就不行,所有文字全部连在一起,请前辈给予指教,谢谢。

另外,飞信发送内容是在论坛找到的,红色部分不理解,请一并指教,谢谢。
[此贴子已经被作者于2015-1-9 14:25:12编辑过]

--  作者:有点甜
--  发布时间:2015/1/9 14:24:00
--  

 编码转换。

 

 

第一步,在外部引用里输入 System.Web.dll 点击添加,然后点击确定

然后使用如下代码,你可以放到命令窗口测试

Dim str As String =  "字符串"
Dim jm As String = System.Web.HttpUtility.UrlEncode(str)
output.show("加密后:" & jm)

--  作者:Gryvip
--  发布时间:2015/1/9 14:31:00
--  
甜版够迅速的,谢谢你。
--  作者:Gryvip
--  发布时间:2015/1/9 14:43:00
--  
甜版,你好,

修改后
Dim drs As List(Of DataRow) = DataTables("股票信息").Select("龙头 = 1","股票代码") \'"发送内容 Is not null","好友手机")
Dim fsnr As String = ""
For Each dr As DataRow In drs
    fsnr = fsnr & vbcrlf & "股票代码:" & dr("股票代码") & ",当前价格:" & Format(dr("当前价格"),"00.00") & ";" & vbcrlf
Next
Dim jm As String = System.Web.HttpUtility.UrlEncode(fsnr)
output.show("加密后:" & jm)

输出内容:加密后:%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000007%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a14.53%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000008%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a23.31%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000009%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a13.15%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000011%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a09.59%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000012%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a08.99%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000014%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a13.55%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000016%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a06.46%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000017%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a08.27%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000018%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a23.39%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000019%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a07.90%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000020%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a00.00%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000022%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a19.99%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000023%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a18.05%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000024%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a25.88%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000025%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a10.30%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000026%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a10.69%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000027%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a11.15%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000028%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a50.50%3b%0d%0a%0d%0a%e8%82%a1%e7%a5%a8%e4%bb%a3%e7%a0%81%3a000029%2c%e5%bd%93%e5%89%8d%e4%bb%b7%e6%a0%bc%3a06.80%3b%0d%0a


发送失败,请问我想要的是换行,跟这个加密有什么关系吗?


--  作者:Gryvip
--  发布时间:2015/1/9 14:51:00
--  
甜版,你好,重启项目后,发送可以换行了,请问(Dim jm As String = System.Web.HttpUtility.UrlEncode(fsnr))这段是什么意思?是否就为了短信换行?请回复,谢谢。
--  作者:有点甜
--  发布时间:2015/1/9 14:54:00
--  
 不要加密全部啊,加密回车符号啊
--  作者:Gryvip
--  发布时间:2015/1/9 14:57:00
--  
甜版,你好,加密全部也正常换行,我再试试加密换行符,谢谢。
--  作者:Gryvip
--  发布时间:2015/1/9 15:06:00
--  
加密换行符(vbcrlf)后,短信就可以正确识别了,谢谢甜版。
--  作者:Gryvip
--  发布时间:2015/1/9 15:21:00
--  
找到了

Do Until web.ReadyState = 4 检查网页状态(4表示加载完毕)
        Application.DoEvents  ’交回工作权限给系统,以免“软死机”
    Loop

0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了
[此贴子已经被作者于2015-1-9 15:25:14编辑过]