使asp.net网页响应WebClient请求

时间:2014-03-27 18:58:47

标签: asp.net vb.net

我在asp.net和vb.net编程中遇到了问题。我创建了一个连接到数据库的网站来验证用户。我创建了另一个页面,我的Windows窗体应用程序使用它来验证用户,因此程序不必直接连接到MySql数据库,因为这是不安全的。

到目前为止,我的asp.net页面的代码是:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        If Request.QueryString.Keys(0) = "key" And Request.QueryString.Keys(1) = "getapikeyv1" And Request.QueryString.Keys(2) = "authapienc2" Then
            Dim key As String = Request.QueryString.Get("key")
            If key = "dua9r3rqpK{WPDWp9r93af03r8yqrEPIF{A}W~DW)D08q3raewdawdug9q8wdyaw9wq" Then
                returnLabel.Text = "XYeJay4XVh6amvf1kJ34Y6y6hR0sSokP9oJFsi0Mxl4QB0T86W0iac9o2nRfCmFmsONq6sPz+rdX+/NqFk3inHRGnwnqf0IsQXE/M/SvnvY="
            Else
                returnLabel.Text = "invk"
            End If
        Else
            returnLabel.Text = "invalidrequest"
        End If
    End If
End Sub

' returnLabel'的默认值是INVALIDREQUEST。我上面定义的api键工作正常,所以不需要在这里考虑。但是,当我使用以下代码与网页进行通信时,它总是返回returnLabel的值为' INVALIDREQUEST'。即使我把returnLabel.Text =" 1233"在Me.Load子的开头,当我通过我的程序与它通信时,页面仍然返回INVALIDREQUEST!

我使用此代码请求:

        Try
        Dim APIRequest As New WebClient
        APIRequest.QueryString.Add("key", r9j0wqfha0fh0wf0.DecryptString128Bit(APIKey5, dVadaihwdq93ra0w0))
        APIRequest.QueryString.Add("getapikeyv1", "")
        APIRequest.QueryString.Add("authapienc2", "")
        Dim ako39rqwfa As String = APIRequest.DownloadString(EncryptionPageUrl)
        MsgBox(ako39rqwfa)
        Dim m As Match = Regex.Match(ako39rqwfa, "<span id=""returnLabel"">.*?</span>")
        APIKey00 = m.Value.Replace("<span id=""returnLabel"">", "").Replace("</span>", "")
    Catch ex As Exception
        MsgBox(ex.ToString)
    End Try

正如您所看到的,我使用的WebClient很好,但网页中的Me.Load子程序没有响应程序提出的请求...

有什么方法可以让网页响应WebClient.DownloadString()函数吗?

谢谢,

Rodit

(ps。c#或vb代码将不胜感激)

1 个答案:

答案 0 :(得分:0)

更改您的asp.net页面以检查这样的查询字符串,不确定您是否可以假设它们按照特定顺序:

If Request.QueryString.Get("key") isnot nothing  And 
Request.QueryString.Get("getapikeyv1") isnot nothing  And 
Request.QueryString.Get("authapienc2") isnot nothing  Then