我已经习惯了Visual Basic,我正在尝试构建一个应用程序,我们的操作员可以快速搜索到我们的系统之一。 - 我四处寻找,但我找不到很多信息
以下是我们希望以某种方式实现目标的快速概述
1. VB 2010 App (2 x Text Boxes + Button)
2. PHP Script (If query = bob & jones <<=
3. Curl PHP Request to another PHP Form
4. Returns to Original PHP Script <<=
5. Somehow returns information back to .net application that is waiting
我是PHP程序员而不是.net开发人员主要是因为curl和php脚本大部分完全只是.net编码
为了让我们开始,我们使用了以下代码:
Dim webStream As Stream
Dim webResponse = ""
Dim req As HttpWebRequest
Dim res As HttpWebResponse
' API Address ''
req = WebRequest.Create("xxxxxxxxx")
req.Method = "GET" ' Method of sending HTTP Request(GET/POST)
res = req.GetResponse() ' Send Request
webStream = res.GetResponseStream() ' Get Response
Dim webStreamReader As New StreamReader(webStream)
' READ Response in one Variable
While webStreamReader.Peek >= 0
webResponse = webStreamReader.ReadToEnd()
End While
MsgBox(webResponse)
它对一个标准工作正常,因为它以消息框的形式将信息带回给我们,虽然我们希望它填充一些文本框(甚至不确定是否可行)
但主要的问题是它正在检索网站的源代码,而不仅仅是网站文本方面的信息
由于
答案 0 :(得分:0)
你似乎已经完成了这部分方式。你有标记,只需深入研究。
以上是编写上述代码的另一种方法。
Dim MyURL as string = "xxxxxxx"
Dim MyRequest As WebRequest = WebRequest.create(MyURL)
MyRequest.Headers.Add("myCustom","true") 'PHP Web Server @ xxxxxxx will see this as $_SERVER['http_myCustom'] - true
MyRequest.ContentType = "text/html"
MyRequest.Method = "GET"
Dim MyResponse As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
If MyResponse.StatusCode = HttpStatusCode.OK Then
Dim SR As New StreamReader(MyRequest.GetResponseStream())
MyRequest.Close()
Dim webResponse As String = SR.ReadToEnd()
SR.Close()
'At this point, the source of the page is in webResponse
Else
MyRequest.Close()
'Error in connection to remote/host server
End If
我在请求中添加了Header,以表明您可以在外部网站上检查此标头和/或引荐来源是否存在,以便以不同方式处理该网站的响应...也就是说,如果您不这样做我想在webRequest中解析整个源代码,而不是考虑不从外部站点发送整个文档。
因为,我假设您只对获取外部服务器解析为text / html的搜索结果感兴趣。