我正在编写一个基于Minecraft的程序(我知道它在Java中更容易,这就是重点),我的一个功能包括输入用户名,它将返回该用户是否为高级会员。这可以通过以下方式在任何Web浏览器中手动完成:
https://minecraft.net/haspaid.jsp?user=USERNAME
当USERNAME替换为实际用户名时,例如:
https://minecraft.net/haspaid.jsp?user=xTeCnOxShAdOwZz
然后网页将显示“真实”和“真实”。或者' false',取决于该用户是否为高级版。在我的情况下,它返回' true',因为我是高级会员。我希望能够在Visual Basic中将其作为布尔值或字符串返回,然后我可以将其链接到标签。
我真的不知道从哪里开始使用代码,所以欢迎所有建议!谢谢! :)
答案 0 :(得分:0)
这很简单。首先,您需要一种方法将网页读入字符串,这是一个非常基本的方法:
Private Function GetWebPageText(ByVal url As String) As String
Dim Request As WebRequest = WebRequest.Create(url)
Request.Credentials = CredentialCache.DefaultCredentials
Return New StreamReader(Request.GetResponse().GetResponseStream()).ReadToEnd()
End Function
然后您需要做的就是使用您想要的用户名调用页面,并将返回值解析为布尔值。您可以使用Boolean.Parse(str)
轻松完成此操作,将它们放在一起:
Private Function PlayerHasPremium(ByVal PlayerName As String) As Boolean
Return Boolean.Parse(GetWebPageText("https://minecraft.net/haspaid.jsp?user=" + PlayerName))
End Function
然后,您可以使用用户名调用该方法,以便在代码中将值作为布尔值获取:
Sub Main()
Dim TechnoShadowHasPremium As Boolean = PlayerHasPremium("xTeCnOxShAdOwZz")
Dim MrLoreHasPremium As Boolean = PlayerHasPremium("MrLore")
System.Console.WriteLine(TechnoShadowHasPremium) ' True
System.Console.WriteLine(MrLoreHasPremium) ' False
End Sub