【问题标题】:Why does GetLastError() (NOT GetReturnMessage) return “wrong password”, when the user name is wrong? [duplicate]当用户名错误时,为什么 GetLastError() (NOT GetReturnMessage) 返回“密码错误”? [复制]
【发布时间】:2010-01-30 02:04:17
【问题描述】:

可能重复:
Why does GetErrorMessage return “wrong password”, when the user name is wrong?

由于GetErrorMessage gave 无效密码和用户名的字符串相同,我决定使用GetLastError(),因为它对each. 有一个单独的错误

但是,如果用户名不正确,它仍然给我代码 12014? (密码错误)但有一个单独的错误代码:ERROR_INTERNET_INCORRECT_USER_NAME - 12013

这不应该有效还是也应该这样做?

谢谢。

try
{
   pConnect = sess->GetFtpConnection(host, wronguserName, password, port, FALSE );
   err= GetLastError(); <---RETURNS INVALID PASSWORD with the wrong username??
}

catch (CInternetException* pEx) //incorrect user name displays incorrect password?
{
      TCHAR sz[1024];
      pEx->GetErrorMessage(sz, 1024);
      printf("ERROR!  %s\n", sz);
      pEx->Delete();
}

【问题讨论】:

  • 呃,和上次一样的原因?
  • 哎呀!没有把两个和两个放在一起......一定是一个漫长的星期五。

标签: c++ c windows wininet


【解决方案1】:

该函数只能告诉你 FTP 服务器返回什么。已安全编码的 FTP 服务器说密码错误。该函数无法为您提供与 FTP 服务器告诉它的结果不同的结果。 :-P

对于 区分无效用户名和无效密码(顽皮、顽皮)的 FTP 服务器,我确信该函数也会返回服务器返回的内容,在这种情况下可能是错误 12013。

【讨论】:

    【解决方案2】:

    无论您的帐户或密码是否错误,FTP 服务器都会回复相同的“无效”消息。这是为了防止网络钓鱼有效的用户名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-13
      • 2019-11-15
      • 2021-10-28
      • 2013-01-14
      • 1970-01-01
      • 2021-11-03
      • 2013-03-21
      • 2010-11-26
      相关资源
      最近更新 更多