使用代理在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)等代理服务器 – 也就是说 – 你能解决这种主义吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |