加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用代理在vb.NET中调用Slack API

发布时间:2020-12-17 07:27:17 所属栏目:百科 来源:网络整理
导读:尝试通过代理后面的vb.NET中的应用程序调用Slack API.但是,我没有.NET的专业知识,所以它在某种程度上超出了我的联盟. 这是代码的一部分: Private Function GetResponseFromPostRequest(ByVal url As String,ByVal variables As String) As String Dim conte
尝试通过代理后面的vb.NET中的应用程序调用Slack API.但是,我没有.NET的专业知识,所以它在某种程度上超出了我的联盟.

这是代码的一部分:

Private Function GetResponseFromPostRequest(ByVal url As String,ByVal variables As String) As String
    Dim content As String

    Dim postData() As Byte = Encoding.GetEncoding("utf-8").GetBytes(variables)
    Dim req As HttpWebRequest = CType(WebRequest.Create(url),HttpWebRequest)
    Dim proxyObject As New WebProxy("http://thisismyproxy:thisismyport")

    req.Proxy = proxyObject
    req.Method = "POST"

    req.ContentType = "application/json"
    req.ContentLength = postData.Length

    Dim postStream As Stream = req.GetRequestStream()
    postStream.Write(postData,postData.Length)
    postStream.Close()

    Using res As HttpWebResponse = CType(req.GetResponse(),HttpWebResponse)
        Using receiveStream As Stream = res.GetResponseStream()
            Dim readStream As New StreamReader(receiveStream,Encoding.GetEncoding("utf-8"))
            content = readStream.ReadToEnd()
        End Using
    End Using

    Return content

End Function

然后这样称呼它:

GetResponseFromPostRequest("https://hooks.slack.com/services/....","{'text':'" & slackTitle & "'}")

没有代理,它确实有效.使用代理,我有以下错误:

连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应… … api …

如果我尝试在postman应用程序中发布HTTP帖子并使用上面的代理,它就可以了.我想问题应该在vb.net代码上.

解决方法

可能会弄错,但我很确定您的代理地址是错误的.您需要将端口作为Int单独传递到地址URL.即

Dim proxyObject As New WebProxy("http://thisismyproxy",thisismyport)

thisismyport是您需要的端口号的Int值.

见:https://msdn.microsoft.com/en-us/library/xfsh37cx(v=vs.110).aspx

根据您的评论我想象一下,您为代理指定的URL是;

a)不正确,或……

b)无法通过DNS解决

要修复,请确保URL“http://thisismyproxy”100%正确 – 同时尝试输入代理服务器的IP地址而不是域名.例如

Dim proxyObject As New WebProxy("http://192.168.x.x",8080)

这会解决问题吗?如果没有,你可以从机器到达(ping)等代理服务器 – 也就是说 – 你能解决这种主义吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读