尝试通过代理后面的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)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。