FileZilla FTP 兼容FtpAnywhere

人工智能2025-11-03 23:52:477314
FileZilla FTP 兼容FtpAnywhere
复制  bool CFtpControlSocket::ParsePasvResponse(CRawTransferOpData* pData)     {     // Validate ip address     wxString digit = _T("0*[0-9]{1,兼容3}");     const wxChar* dot = _T(",");     wxString exp = _T("( |\\()(") + digit + dot + digit + dot + digit + dot + digit + dot + digit + dot + digit + _T(")( |\\)|$)");     wxRegEx regex;     regex.Compile(exp);     if (!regex.Matches(m_Response))     return false;     pData->host = regex.GetMatch(m_Response, 2);     int i = pData->host.Find(,, true);     long number;     if (i == -1 || !pData->host.Mid(i + 1).ToLong(&number))     return false;     pData->port = number; //get ls byte of server socket     pData->host = pData->host.Left(i);   i = pData->host.Find(,, true);     if (i == -1 || !pData->host.Mid(i + 1).ToLong(&number))     return false;     pData->port += 256 * number; //add ms byte of server socket     pData->host = pData-> host.Left(i);     pData->host.Replace(_T(","), _T("."));     if (m_pProxyBackend)     {     // We do not have any information about the proxys inner workings     return true;     }     const wxString peerIP = m_pSocket->GetPeerIP();     if (!IsRoutableAddress(pData->host, m_pSocket->GetAddressFamily()) && IsRoutableAddress(peerIP, m_pSocket->GetAddressFamily()))     {     if (!m_pEngine->GetOptions()->GetOptionVal(OPTION_PASVREPLYFALLBACKMODE) || pData->bTriedActive)     {     LogMessage(Status, _("Server sent passive reply with unroutable address. Using server address instead."));     LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());     pData->host = peerIP;     }     else     {     LogMessage(Status, _("Server sent passive reply with unroutable address. Passive mode failed."));     LogMessage(Debug_Info, _T(" Reply: %s, peer: %s"), pData->host.c_str(), peerIP.c_str());     return false;     }     }     return true;     }   1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.
本文地址:http://www.bzuk.cn/news/061f8099858.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

磁盘重新分区教程(以简单步骤了解如何重新分区您的磁盘)

For循环和While循环之流的终结

Python是如何处理垃圾的?

Web前端老手的工具箱,都有这10款工具

探索绝地求生电脑显示错误代码的解决方案(从错误代码解读到问题解决,让你畅享绝地求生游戏)

用 Lua 操作文件中的数据

一文说通C#的属性Attribute

PHP 8.1 将于11月 GA,会带来哪些新特性?

友情链接

滇ICP备2023006006号-33