Foxtable(狐表)用户栏目专家坐堂 → 使用HttpClient GET 访问 https服务器失败,http正常,如何解决?


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

主题:使用HttpClient GET 访问 https服务器失败,http正常,如何解决?

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
使用HttpClient GET 访问 https服务器失败,http正常,如何解决?  发帖心情 Post By:2021/12/23 9:11:00 [只看该作者]

    Dim dt As DataTable = DataTables("默认用户")
    Dim dr As DataRow = dt.Find("ID = '1'")
    If dr IsNot Nothing Then
        Dim url As String = dr("url") '接口网址
        Dim appid As String = dr("appid") '开发者ID
        Dim appsecret As String = dr("appsecret") '开发者密匙
        url = url & "/restoken/dstoken/get.do?a={0}&s={1}"
        Dim hc As New HttpClient(CExp(url,appid,appsecret))
        Dim ret As String = hc.GetData()
        If ret = "" Then '如果失败,再尝试一次
            hc.GetData()
        End If
        Dim jo As JObject = JObject.Parse(ret)
        If jo("code") = "0" Then
            AccessTocken = jo("access_token")
        Else
            AccessTocken = ""
        End If
End If

2021-12-22 16:09:48.8163
基础连接已经关闭: 发送时发生错误。
   在 System.Net.HttpWebRequest.GetResponse()
   在 Foxtable.HttpClient.GetData(Boolean SkipError2)
由于远程方已关闭传输流,身份验证失败。
   在 System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   在 System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   在 System.Net.TlsStream.CallProcessAuthentication(Object state)
   在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   在 System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
   在 System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   在 System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
   在 System.Net.ConnectStream.WriteHeaders(Boolean async)
[此贴子已经被作者于2021/12/23 9:13:46编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 9:21:00 [只看该作者]

是不是在XP电脑运行的?XP不支持https

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
使用HttpClient GET 访问 https服务器失败,http正常,如何解决?  发帖心情 Post By:2021/12/23 9:32:00 [只看该作者]

win10系统运行的。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
能否让客服测试一下,用户名和密码比较敏感。  发帖心情 Post By:2021/12/23 9:34:00 [只看该作者]

我发资料,或者远程都可以。


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 9:35:00 [只看该作者]

如果是公众号我一直在用没有任何问题

一些特殊接口需要加上
Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Tls11

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
这行代码在AfterOpenProjecti添加,还是在每次调用HttpClient前添加?  发帖心情 Post By:2021/12/23 15:30:00 [只看该作者]

如题

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/12/23 17:22:00 [只看该作者]

每次调用HttpClient前添加

 回到顶部