首页 文章

URL请求的返回值

提问于
浏览
-1

我正在编写一个基于Minecraft的程序(我知道它在Java中更容易,这就是重点),我的一个功能包括输入一个用户名,它将返回该用户是否是高级会员 . 这可以通过以下方式在任何Web浏览器中手动完成:

https://minecraft.net/haspaid.jsp?user=USERNAME

当USERNAME替换为实际用户名时,例如:

https://minecraft.net/haspaid.jsp?user=xTeCnOxShAdOwZz

那么网页将只显示“真实”或“假”,具体取决于该用户是否为高级版 . 在我的情况下,它返回'true',因为我是高级会员 . 我希望能够在Visual Basic中将其作为布尔值或字符串返回,然后我可以将其链接到标签 .

我真的不知道从哪里开始编码,所以欢迎所有的建议!谢谢! :)

1 回答

  • 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
    

相关问题