Foxtable(狐表)用户栏目专家坐堂 → 还是不能熟练使用post方法,请指教。


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

主题:还是不能熟练使用post方法,请指教。

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
还是不能熟练使用post方法,请指教。  发帖心情 Post By:2017/4/5 7:35:00 [显示全部帖子]

Select Case e.Path
    Case "input.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("<form enctype='multipart/form-data' action='accept.htm?id=1&page=10' method='post' id='form1' name='form1'>")
        sb.AppendLine(
"
产品: <input name='cp' id='cp'><br/><br/>")
        sb.AppendLine(
"
客户: <input name='kh' id='kh'><br/><br/>")
        sb.AppendLine(
"
数量: <input type='number' name='sl' id='sl'><br/><br/>")
        sb.AppendLine(
"
日期: <input type='date' name='rq' id='rq'><br/><br/>")
        sb.AppendLine(
"<input type='submit' name='sumbit' id='sumbit' value='
提交'>")
        sb.AppendLine(
"<input type='reset' name='reset' id='reset' value='
重置'>")
         sb.AppendLine("</form>")
        e.WriteString(sb.ToString)

在帮助中有这么一段,请问post方式提交数据  就是在html中把method设为post吗?     httpclient 的方式能用post吗?

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 13:23:00 [显示全部帖子]

这是我在网上找到的一段vb.net 的post方法,用来发送短信的,请问对吗?  1.可以直接应用在狐表中吗?      2.  如果用httpclient 要怎样改呢?

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button3.Click
Dim web As New System.Net.WebClient() '发送短信
web.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
Dim d As Byte()
d = System.Text.Encoding.UTF8.GetBytes("userid=你的ID&password=你的密码&account=你的账号&c&mobile=" + TextBox2.Text)
Dim res As Byte() = web.UploadData("http://www.qf106.com/sms.aspx?action=send", "POST", d)
Dim str_res As String
str_res = System.Text.Encoding.GetEncoding("utf-8").GetString(res)
Response.Write(str_res)
End Sub
End Class
[此贴子已经被作者于2017/4/5 13:23:17编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 14:48:00 [显示全部帖子]

如果是post方法调webservice呢?   我上面贴出来的代码不能用吗?

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:09:00 [显示全部帖子]

Dim hc As New HttpClient("http://10.26.254.23:8080//Identity.asmx/IdentityCheck")
hc.FormData.Add("Name","李三")
hc.FormData.Add("User","000000")
hc.FormData.Add("Password","w0****")
Dim ret As String = hc.getData()
Dim xo As Xobject = XObject.parse(ret)
'msgbox(xo)


这样的代码不对吗?  弹出错误,怎么改呢?


---------------------------
版本:2017.3.6.1
---------------------------
代码执行出错,错误信息:



System.Xml.XmlException: 缺少根元素。

   在 System.Xml.XmlTextReaderImpl.Throw(Exception e)

   在 System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo(String res)

   在 System.Xml.XmlTextReaderImpl.ParseDocumentContent()

   在 System.Xml.XmlTextReaderImpl.Read()

   在 System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)

   在 System.Xml.XmlDocument.Load(XmlReader reader)

   在 System.Xml.XmlDocument.LoadXml(String xml)

   在 Foxtable.XObject..ctor(String A_0)

   在 Foxtable.XObject.Parse(String XML)

   在 UserCode.Test()
---------------------------
确定   
---------------------------

[此贴子已经被作者于2017/4/5 15:09:53编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:13:00 [显示全部帖子]

我跟Webservice的提供方约定:

我发送   <XML><Name>姓名</Name><User>工号</User><Password>密码</Password></XML>

它返回   <XML><User>工号</User><CheckResult>验证结果</CheckResult><CheckTime>验证时间</CheckTime></XML>

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:17:00 [显示全部帖子]

Dim hc As New HttpClient("http://10.26.254.23:8080//Identity.asmx/IdentityCheck")
hc.FormData.Add("Name","张三")
hc.FormData.Add("User","000000")
hc.FormData.Add("Password","*****")
Dim ret As String = hc.getData()
msgbox(ret)

在命令行执行如上代码:报如下错误  ,这个代码能确保生成    上面指定格式的xml字符串post过去吗?

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2017.3.6.1
错误所在事件:
详细错误信息:
远程服务器返回错误: (500) 内部服务器错误。



[此贴子已经被作者于2017/4/5 15:17:22编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:29:00 [显示全部帖子]

那是返回的正常的xml,但是通过浏览器的url不是get 方法吗? 我想通过 post方法试试   

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:34:00 [显示全部帖子]

Dim hc As New HttpClient("http://10.26.254.23:8080//Identity.asmx/IdentityCheck")
hc.Headers.add("Content-Type", "application/x-www-form-urlencoded")
hc.C
Dim jo As JObject = Jobject.Parse(hc.GetData)
msgbox(jo)


依然报错。

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


加好友 发短信
等级:六尾狐 帖子:1219 积分:8467 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2017/4/5 15:43:00 [显示全部帖子]

以下是引用有点色在2017/4/5 15:38:00的发言:

 

看不懂你要做什么,请不要使用httpClient来提交。论坛里搜索webservice的方式。先好好看完,别瞎折腾。



我昨天花了一天看了以往的Webservice,除了用c# HDlib 写的一个dll,可以调用成功以外,其它的方式都没看太懂,还请版主不吝赐教



我要实现的东西 很简单 ,


我通过foxtable发送 这样一个xml串    <XML><Name>姓名</Name><User>工号</User><Password>密码</Password></XML>

Webservice给我返回 这样一个xml串     <XML><User>工号</User><CheckResult>验证结果</CheckResult><CheckTime>验证时间</CheckTime></XML>


WebService给我的post调用示例是:

HTTP POST

以下是 HTTP POST 请求和响应示例。所显示的占位符需替换为实际值。

POST /Identity.asmx/IdentityCheck HTTP/1.1
Host: 10.26.254.23
Content-Type: application/x-www-form-urlencoded
Content-Length: length

xml=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0"?>
xml

[此贴子已经被作者于2017/4/5 15:43:46编辑过]

 回到顶部