以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  HttpClient(ul) 类  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=127545)

--  作者:1498351234
--  发布时间:2018/11/16 12:39:00
--  HttpClient(ul) 类

老师好!

我用get方法向服务端传递数据,代码如下:

客户端代码

dim uuu as string ="http://jintonggongsi.cn:32188/bbbb/aaaa.htm?qt=2&usid=18635700170"
Dim hc As new HttpClient(uuu)

服务端代码
Select Case e.Path
    Case "bbbb\\aaaa.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("通过GET方式提交的数据:<br/><br/>")
        For Each key As String In e.GetValues.Keys
            sb.AppendLine(key & ":" & e.GetValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)
End Select

在任何浏览器都能得到 键 usid  和 键值 ;键 qt  和 键值 。但用 Dim hc As new HttpClient(uuu) 这个语句在服务端只能得到键qt及键值,得不到键usid 及键值“18635700170”,这是为什么?怎样利用利用GET方法把这个

usid 传给服务端。谢谢老师!


--  作者:有点甜
--  发布时间:2018/11/16 15:13:00
--  

我测试下面代码没问题

 

Dim hc As new HttpClient("http://127.0.0.1/bbbb/aaaa.htm?qt=2&usid=18635700170")
Dim a = hc.GetData
msgbox(a)

 

1、你升级的foxtable到最新版;

 

2、加入msgbox弹出值看看

 

        Dim sb As New StringBuilder
        sb.AppendLine("通过GET方式提交的数据:<br/><br/>")
        For Each key As String In e.GetValues.Keys
msgbox(e.values(key))
            sb.AppendLine(key & ":" & e.GetValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)


--  作者:1498351234
--  发布时间:2018/11/16 16:01:00
--  HttpClient

老师好:取不到键值

  这是服务端代码:

Dim fl As String = "E:\\web\\" & e.path
If filesys.FileExists(fl)
    Dim idx As Integer = fl.LastIndexOf(".")
    Dim ext As String  = fl.SubString(idx)
    Select Case ext
        Case ".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar",".txt"
            e.WriteFile(fl)
            Return \'这里必须返回
    End Select
End If

Select Case e.Path
    Case "bbbb\\aaaa.htm"
        Dim sb As New StringBuilder
        sb.AppendLine("通过GET方式提交的数据:<br/><br/>")
        For Each key As String In e.GetValues.Keys
            msgbox(e.values(key))
            sb.AppendLine(key & ":" & e.GetValues(key) & "<br/>")
        Next
        e.WriteString(sb.ToString)
End Select

 但通过浏览器能够得到键值

   这个是客户端代码,由微信返回的userID 确实返回来了,并且写到文件里了,就是发不到服务器里

                    Case "view" \'单击跳转到网页事件
                        Filesys.WriteAllText(logFile , UserID & "于" & CreateTime & "访问网页:" & Key & vbcrlf, True)
                       
                        \'试验部分
                        Dim uuu As String
                        If key.Contains("?") And key.Contains("=") Then
                            uuu =key &  "&usid={0}"
                        Else
                            uuu =key &  "?usid={0}"
                        End If
                        uuu = CExp(uuu, UserID )
                        Filesys.WriteAllText(logFile , UserID & "于" & CreateTime & "修改后网页:" & uuu & vbcrlf, True)
                        If uuu.Contains("aaaa.htm") Then
                            Dim hc As new HttpClient(uuu)
                            hc.Timeout = 5
                            hc.Content = UserID
                        End If

这是写到文本文件里的uuuu

18635700170于2018-11-16 16:11:26修改后网页:http://jintonggongsi.cn:32188/bbbb/aaaa.htm?qt=2&usid=18635700170

 

写在命令窗口里也服务器也得不到键值

Dim hc As new HttpClient("http://jintonggongsi.cn:32188/bbbb/aaaa.htm?qt=2&usid=18635700170")
\'hc.Timeout = 5
\'hc.Content = UserID
msgbox(1)

[此贴子已经被作者于2018/11/16 16:22:46编辑过]

--  作者:有点甜
--  发布时间:2018/11/16 16:16:00
--  

1、msgbox(uuu) 弹出什么?

 

2、这个代码多余 hc.Content = UserID,请删除


--  作者:1498351234
--  发布时间:2018/11/16 16:34:00
--  HttpClient

老师好!

我已经把uuu写到文件里了,没有问题啊,并且每点击一次文件都能记录。浏览器访问就没有问题啊

 

[此贴子已经被作者于2018/11/16 16:37:26编辑过]

--  作者:1498351234
--  发布时间:2018/11/16 16:58:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:浏览器显示.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:记录文件显示.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:uuu显示.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/11/16 17:35:00
--  

1、在你电脑新建一个项目,搭建本地服务器,测试,看是否有问题;

 

2、如果新项目测试也有问题,那就是httpclient的问题,升级到最新版foxtable。