错误12003 FTP文件上载错误

错误12003 FTP文件上载错误,ftp,Ftp,你好,晚上好 这是以C++为核心的FTP文件上传。我一直试图上传一个FTP文件,但我在网上搜索时发现错误12003,我没有看到任何有用的东西。。看起来很烦人 我的代码如下所示 #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <wininet.h> #pragma comment (lib, "wininet.lib") int main() {

你好,晚上好

这是以C++为核心的FTP文件上传。我一直试图上传一个FTP文件,但我在网上搜索时发现错误12003,我没有看到任何有用的东西。。看起来很烦人

我的代码如下所示

  #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <wininet.h>

#pragma comment (lib, "wininet.lib")

int main()
{
    HINTERNET hInternet;
    HINTERNET hFtpSession;

    hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
    if(!hInternet)
    {
        printf("Error : %d\n",GetLastError());
    }

    hFtpSession = InternetConnect(hInternet, "myohyip8.5gbfree.com", INTERNET_DEFAULT_FTP_PORT, "myohyip8", "WxqHjNGv", INTERNET_SERVICE_FTP, 0, 0);

    if(!hFtpSession)
    {
        printf("Error : %d\n",GetLastError());
    }

    if (!FtpPutFile(hFtpSession, "C:\\ivan.txt", "myivan.txt", FTP_TRANSFER_TYPE_BINARY, 0))
                {
                    printf("Error : %d\n", GetLastError());
                }
        else{
            printf("File Upload Successful :)\n");
            }
        InternetCloseHandle(hFtpSession);
       InternetCloseHandle(hInternet);

        system("PAUSE");
    return 0;
}
#包括
#包括
#包括
#包括
#pragma注释(lib,“wininet.lib”)
int main()
{
腹内网腹内网;
腹地hFtpSession;
hInternet=InternetOpen(NULL,INTERNET\u OPEN\u TYPE\u DIRECT,NULL,NULL,0);
如果(!hInternet)
{
printf(“错误:%d\n”,GetLastError());
}
hFtpSession=InternetConnect(hInternet,“myohyip8.5gbfree.com”、互联网默认FTP端口、“myohyip8”、“WxqHjNGv”、互联网服务FTP,0,0);
if(!hFtpSession)
{
printf(“错误:%d\n”,GetLastError());
}
如果(!FtpPutFile(hFtpSession,“C:\\ivan.txt”,“myivan.txt”,FTP\u TRANSFER\u TYPE\u BINARY,0))
{
printf(“错误:%d\n”,GetLastError());
}
否则{
printf(“文件上载成功:)\n”);
}
InternetCloseHandle(hFtpSession);
InternetCloseHandle(腹地网);
系统(“暂停”);
返回0;
}

这一直让我担心,我一点也不知道该怎么办,在我看来,这就像是一个文件系统错误

对ftp问题进行故障排除时,我要做的第一件事是尝试使用常规ftp程序(例如filezilla或其他程序)在同一台机器上连接并执行相同的操作。如果它可以连接,您将能够在该软件中看到服务器对话的日志,这将为您提供良好的参数。如果无法连接,您将在同一日志中看到问题所在

如果不使用这样的软件,我最好的猜测是,在正常模式下连接时会出现问题,您应该处于被动状态(本质上是防火墙问题)。您可以在InternetConnect调用的倒数第二个参数中传入INTERNET_FLAG_PASSIVE。这将把它切换到被动模式

e、 g


对ftp问题进行故障排除时,我要做的第一件事是尝试使用常规ftp程序(例如filezilla或其他任何程序)连接并在同一台机器上执行相同的操作。如果它可以连接,您将能够在该软件中看到服务器对话的日志,这将为您提供良好的参数。如果无法连接,您将在同一日志中看到问题所在

如果不使用这样的软件,我最好的猜测是,在正常模式下连接时会出现问题,您应该处于被动状态(本质上是防火墙问题)。您可以在InternetConnect调用的倒数第二个参数中传入INTERNET_FLAG_PASSIVE。这将把它切换到被动模式

e、 g


是的,它处于被动模式。从我在CoreFTPso中看到的情况来看,CoreFTPso起作用了吗?如果是这样,添加标志是否解决了问题?是,它处于被动模式。从我在CoreFTPso中看到的情况来看,CoreFTPso起作用了吗?如果是这样,添加标志是否解决了问题?
hFtpSession = InternetConnect(hInternet, "myohyip8.5gbfree.com", INTERNET_DEFAULT_FTP_PORT, "myohyip8", "WxqHjNGv", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);