【问题标题】:Why can't i use webClient with remote server?为什么我不能将 webClient 与远程服务器一起使用?
【发布时间】:2012-09-27 01:45:38
【问题描述】:

这是我的代码:

 public bool login_user(string username, string password)
    {
        // try to login user through php script
        try
        {
            string response = wc.DownloadString(configurationUrl + "login.php?user=" + username + "&password=" + password);
            if (response == "LOGIN_TRUE")
                return true;
        }

        catch (Exception E)
        {
            MessageBox.Show(E.Message);
            UnableToConnect = true;
            return false;
        }

        return false;
    }

当我直接从浏览器导航到 DownloadString() 方法上的链接时,我看到上面写着一个空白页:

LOGIN_TRUE

但是当我使用正确的登录名和密码调用此函数时,它返回 false。

只有在我将 PHP 文件从本地服务器传输到远程服务器后才会看到此错误

这里出了什么问题,为什么这在本地服务器上有效,但在远程服务器上无效?

任何帮助将不胜感激!

【问题讨论】:

  • 添加一个手表,看看你得到了什么响应变量。可以有空格。
  • 还要确保在远程服务器上有一个具有该用户权限的用户/密码设置..
  • 没有空格,而且不仅这个函数不工作而且所有类似的函数总是返回 false ?响应是“LOGIN_TRUE”,没有空格。

标签: c# .net webclient remote-server downloadstring


【解决方案1】:

我找到了答案。即使当我直接从浏览器调用链接时,我没有看到返回的字符串中有任何空格,但似乎有一些空格,上面的代码通过替换

    if (response == "LOGIN_TRUE") return true;

    if (response.Trim() == "LOGIN_TRUE") return true;

谢谢@Codelgnoto

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 2013-07-02
    • 2015-11-08
    • 2013-08-24
    相关资源
    最近更新 更多