Foxtable(狐表)用户栏目专家坐堂 → 短信接口中请在request请求中附带登出后的cookies使用,这是什么意思?


  共有4073人关注过本帖树形打印复制链接

主题:短信接口中请在request请求中附带登出后的cookies使用,这是什么意思?

帅哥哟,离线,有人找我吗?
ycwk
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
短信接口中请在request请求中附带登出后的cookies使用,这是什么意思?  发帖心情 Post By:2018/7/25 20:57:00 [显示全部帖子]

我在测试一个短信平台,现在登陆成功,代码如下:

Dim user As String = "user"

  Dim salt As String = "123"

  Dim str_temp As String = "password" & salt

  Dim auth = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str_temp,"MD5").ToUpper    '字符串md5化

  

        

'msgbox(auth)

Dim hc As New HttpClient("http://10.10.10.10:1010/session")  '登陆

hc.FormData.Add("user",user)

hc.FormData.Add("salt",salt)

hc.FormData.Add("auth",auth)

Dim ret As String = hc.getData()

Dim jo As JObject= JObject.Parse(ret)

msgbox(jo("errorcode").ToString)

msgbox(jo("result").ToString)


但登陆成功后发短信的说明如下:  请问: “并在request请求中附带登陆后的cookies使用”这句话是什么意思? 要怎么写代码



http://10.10.10.10:9090/message

message资源供用户进行短信的发送,支持POST方法。

POST

调用POST方法提交数据实现短信的发送,需首先登陆,并在request请求中附带登陆后的cookies使用。







 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/25 21:32:00 [显示全部帖子]

用下面的代码解决了,关于cookie的代码可否优化一下? 
'在提交的时候附带cookies
Dim hc_send As New HttpClient("http://10.10.10.10:10/message")    '发短信
hc_send.sCookies.Add("TWIST_SESSION",str_cookies)
hc_send.FormData.Add("desttermid","1531111111")
hc_send.FormData.Add("content","管理111")
hc_send.FormData.Add("mode","0")
Dim ret_send As String = hc_send.getData()
Dim jo_send As JObject= JObject.Parse(ret_send)
msgbox(jo_send("errorcode").ToString)
msgbox(jo_send("taskid").ToString)

[此贴子已经被作者于2018/7/25 21:32:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/25 21:33:00 [显示全部帖子]

除了post提交数据外,还有个delete方法?  

DELETE

调用DELETE方法实现用户注销,无需额外参数。需首先登陆,并在request请求中附带登陆后的cookies使用。

返回json内容为一个字典,包含errorcoderesult两个字段,errorcode为错误码,result为对应的文字描述。


这个方法好像帮助文档上面没有啊。


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/26 7:55:00 [显示全部帖子]

请求应该分为4种, get,post,put,delete  ,请问  delete应该怎么调用?

https://blog.csdn.net/wangsongsong1/article/details/9410397   

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/26 14:36:00 [显示全部帖子]

Dim url As String = "http://10.10.10.10:10/session"
Dim rqst As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
rqst.Method = "delete"
msgbox(1)
Dim rsps As System.Net.HttpWebResponse = rqst.GetResponse
msgbox(2)
Dim stm As System.IO.Stream = rsps.GetResponseStream()
msgbox(3)
Dim reader As New System.IO.StreamReader(stm,encoding.utf8)
msgbox(4)
Dim str As String = reader.ReadToEnd   
stm.Dispose()
msgbox(str)


msgbox(1) 弹出后报错

System.Net.WebException: 远程服务器返回错误: (501) 未实现。

   在 System.Net.HttpWebRequest.GetResponse()

   在 UserCode.Test()


[此贴子已经被作者于2018/7/26 14:38:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/26 14:36:00 [显示全部帖子]

而且论坛搜不出  HttpWebRequest

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/26 18:04:00 [显示全部帖子]

帮助文档如下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:1234.rar


 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/28 20:55:00 [显示全部帖子]

增加了一个get方法,可以查收回复的上行短信,如何实现呀?


<!--[if !supportLists]-->1         <!--[endif]-->message

message资源供用户进行短信的发送和上行短信的查询,支持POSTGET方法。

POST

调用POST方法提交数据实现短信的发送,需首先登陆,并在request请求中附带登陆后的cookies使用。

按照模拟form表单提交方式调用。

POST所需form参数有desttermidcontentmode

desttermid为目标手机号码

content为短信内容,需采用utf-8编码传输

mode为短信类型,取值有012。其中0表示无需查询短信回执和回复,1表示无需查询短信回复,2表示需要查询短信回复。

返回json内容为一个字典,包含errorcodetaskid两个字段,errorcode为错误码,taskid为这一次短信发送的唯一标识,之后对回执和回复的查询都需要使用。

 

GET

需首先登陆,并在request请求中附带登陆后的cookies使用。

调用GET方法查询某个taskid对应短信的上行回复短信,无需额外参数,但url中需包含taskid信息。实际调用url为:

http://10.10.10.10:10/message/taskid/<taskid>

返回json内容为一个数组,其中每一个数组为一个字典,包含sourcetermidcontentreceivedtime三个字段。

sourcetermid为发送方号码。

content为短信内容,按照utf-8编码

receivedtime为短信接收时间。

[此贴子已经被作者于2018/7/28 21:01:39编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/28 21:01:00 [显示全部帖子]

用下面这串代码,和上面的delete方法一样,提示 没有登录,但实际上登陆是有返回TWIST_SESSION值的,应该是成功的
Dim req = System.Net.WebRequest.Create("http://10.10.10.10:10/message/taskid/" & "41d6d7336c6eaca81a62d2100e4c7")
req.Method = "GET"
Dim cookieCon = new System.Net.CookieContainer
req.CookieContainer = cookieCon
msgbox(str_cookies)
Dim ck As new System.Net.Cookie("TWIST_SESSION", str_cookies)
req.CookieContainer.add(new Uri("http://10.10.10.10"), ck)
Dim pos = req.GetResponse()
Dim stm As System.IO.Stream = pos.GetResponseStream()
Dim reader As New System.IO.StreamReader(stm,encoding.utf8)
Dim str As String = reader.ReadToEnd
stm.Dispose()

 回到顶部
帅哥哟,离线,有人找我吗?
ycwk
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2018/7/28 21:13:00 [显示全部帖子]


此主题相关图片如下:1.png
按此在新窗口浏览图片

  <!--[endif]-->errorcode  = -20的意思对应:    ERROR_NOT_LOGGED_IN = -20


 回到顶部
总数 25 1 2 3 下一页