2012-05-13 45 views
0

我早些时候曾一个问题涉及到PHP和MySQL在这同一个项目,拆分响应

这是.NET,我试着去阅读我的PHP响应的源,并有一定的字符之后停止或短语,其中我的是<br />

我试过谷歌,没有运气,我希望有人在这里可以救我!

这是我目前的代码。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles  Button1.Click 
     Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://mywebsite/db.php?hwid=" + TextBox1.Text) 
     Dim response As System.Net.HttpWebResponse = request.GetResponse() 
     Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream()) 
    Dim name As String = sr.ReadToEnd 
     If name = "" Then 
      MessageBox.Show("HWID Not Activated!", "Error: Invalid HWID") 
     Else 
      MessageBox.Show("Welcome, " + name) 
      Me.Hide() 
      Form1.Show() 
     End If 
    End Sub 

我想停止在<br />

+0

If'块是否需要检查'name'的值以显示?如果它很重要,那么你必须省略一些重要的东西,因为代码不会显示name的来源或设置。 –

+0

名称是我的PHP文件正在响应,即时通讯程序提交其从客户端抓取,到PHP文件,并阅读PHP文件响应,其中我已声明在这里作为名称的hwid。我加了'if name =''Then',因为如果没有hwid,它会显示空白。但它没有显示出应用程序的空白,因为它读取源代码,这就是为什么我希望它在'
'标签之后停止读取。 – Ron

回答

0

源后读一切你能找到这里的 “< BR/>” 是和之前把该字符串:

Dim s = "Andrew<br />Morton" 
Dim brIndex = s.IndexOf("<br />") 
Dim myName As String = "" 
If brIndex >= 0 Then 
    myName = s.Substring(0, brIndex) 
End If 
Console.WriteLine(myName) 
' outputs: Andrew 

而且,您需要在HttpWebResponse上调用.Close()。

而且,VB.NET中的字符串连接运算符是“&”,而不是“+”。

+0

对不起,现在就尝试这个迟到的反应。 – Ron

+0

This Worked for me,非常感谢:D – Ron