InternetConnect无法通过ftp代理连接到FTP服务器

Vibhor米斯拉

我正在尝试使用WinGate FTP代理连接到FTP服务器。在所有情况下,InternetOpen()都会成功执行并返回适当的句柄。

如果Proxy Authentication为OFF,则InternetConnect()返回正确的句柄,我可以继续进行进一步的ftp操作,但是如果Proxy Authentication为ON,则InternetConnect()返回NULL。

在MSDN上,他们提到了用于代理的InternetSetOption()和INTERNET_OPTION_PROXY_USERNAME和INTERNET_OPTION_PROXY_PASSWORD标志,以在InternetConnect返回的句柄上设置代理用户名和密码,但是它返回NULL并在打印GetLastError()时,我得到以下消息:
InternetConnect失败:12014

220 WinGate Engine FTP网关就绪

331发送密码

530验证失败

if ((hHandle=InternetOpen("Upload", INTERNET_OPEN_TYPE_PROXY, "ftp=ftp://<servername>:<port>", NULL, 0)) == NULL)
    {
        printf("InternetOpen failed: %d", GetLastError());
        printInternetErrorMsg(function);
        return false;   
    }   
    char buffer[1024];
    string proxy_username,proxy_password;
    // get ftp proxy username and password
            // ..


    if ((m_itConnect=InternetConnect(hHandle, ftpserver, INTERNET_DEFAULT_FTP_PORT, ftpusrname, ftppasswd, INTERNET_SERVICE_FTP, NULL, NULL)) == NULL){
        printf("InternetConnect failed: %d", GetLastError());
        printInternetErrorMsg(function);
                    //Internet Connect Fails with following error when Proxy Authentication is ON
                    //InternetConnect failed: 12014
                    //220 WinGate Engine FTP Gateway ready
                    //331 send password
                    //530 Auth Failed 

        return false;           
    }
    strcpy(buffer,proxy_username.c_str());

    if ( !InternetSetOption (m_itConnect, INTERNET_OPTION_PROXY_USERNAME, (LPVOID) buffer, lstrlen (buffer) ))
    {
        printf("Unable to set proxy authetication settings (username). Error returned: %d",  GetLastError() );
        return false;
    }

    strcpy(buffer, proxy_password.c_str());

    if ( !InternetSetOption (m_itConnect, INTERNET_OPTION_PROXY_PASSWORD, (LPVOID) buffer, lstrlen (buffer) ))
    {
        printf("Unable to set proxy authetication settings (password). Error returned: %d",  GetLastError() );
        return false;
    }
}


printf("InternetConnect successful ...");
return true;

任何帮助表示赞赏。提前致谢。

阿德里安

问题是您正在连接到FTP代理,而不是HTTP代理。因此,您将获得一个FTP欢迎字符串。

使用WinInet通过代理工作时,FTP是通过HTTP完成的。客户端向HTTP代理发出针对FTP URL的HTTP请求。HTTP代理充当FTP服务器的FTP客户端,并将客户端的响应转换回HTTP。奇怪但真实。

因此,您需要将代理端口更改为WinGate中的HTTP代理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

InternetConnect无法通过ftp代理连接到FTP服务器

来自分类Dev

如何通过FTP连接到FTP服务器

来自分类Dev

通过具有libcURL的HTTP代理连接到FTP服务器失败

来自分类Dev

使用JAVA通过FTP连接到远程服务器

来自分类Dev

无法连接到Azure网站ftp服务器

来自分类Dev

无法连接到XAMPP上的FTP服务器(Mac)

来自分类Dev

无法连接到Azure网站ftp服务器

来自分类Dev

无法在Android Smartphone上连接到FTP服务器

来自分类Dev

同事无法连接到外部FTP服务器

来自分类Dev

错误:通过FTP连接到EC2服务器时,“无法检索目录列表”

来自分类Dev

连接到 FTP 服务器

来自分类Dev

无法通过代理连接到服务器

来自分类Dev

无法从其他服务器ftp php连接到服务器

来自分类Dev

无法连接到FTP服务器:425无法建立数据连接:连接超时

来自分类Dev

无法通过浏览器连接到ftp服务器,但是我可以使用ftp server_addr从终端连接

来自分类Dev

我无法连接FTP服务器

来自分类Dev

通过无线连接连接到本地ftp服务器

来自分类Dev

通过Unix终端连接到FTP服务器(通过TLS / SSL显式)

来自分类Dev

无法连接到FTP服务器-FEAT命令后断开连接

来自分类Dev

如何通过bash脚本连接到ftp服务器?

来自分类Dev

lftp没有连接到FTPS(通过TLS的FTP)服务器,但是filezilla和ncftp是

来自分类Dev

如何通过FTP连接到Ubuntu 14.04服务器?没有安装vsftpd或proftpd

来自分类Dev

PowerShell连接到FTP服务器并获取文件

来自分类Dev

使用ftplib连接到FTP TLS 1.2服务器

来自分类Dev

PowerShell连接到FTP服务器并获取文件

来自分类Dev

无法使用Apache Airflow中的FTPHook连接到FTP服务器

来自分类Dev

无法使用基于python的库ftplib连接到本地FTP服务器

来自分类Dev

通过VPN连接时,FTP服务器连接被拒绝

来自分类Dev

通过代理服务器连接到MySQL

Related 相关文章

  1. 1

    InternetConnect无法通过ftp代理连接到FTP服务器

  2. 2

    如何通过FTP连接到FTP服务器

  3. 3

    通过具有libcURL的HTTP代理连接到FTP服务器失败

  4. 4

    使用JAVA通过FTP连接到远程服务器

  5. 5

    无法连接到Azure网站ftp服务器

  6. 6

    无法连接到XAMPP上的FTP服务器(Mac)

  7. 7

    无法连接到Azure网站ftp服务器

  8. 8

    无法在Android Smartphone上连接到FTP服务器

  9. 9

    同事无法连接到外部FTP服务器

  10. 10

    错误:通过FTP连接到EC2服务器时,“无法检索目录列表”

  11. 11

    连接到 FTP 服务器

  12. 12

    无法通过代理连接到服务器

  13. 13

    无法从其他服务器ftp php连接到服务器

  14. 14

    无法连接到FTP服务器:425无法建立数据连接:连接超时

  15. 15

    无法通过浏览器连接到ftp服务器,但是我可以使用ftp server_addr从终端连接

  16. 16

    我无法连接FTP服务器

  17. 17

    通过无线连接连接到本地ftp服务器

  18. 18

    通过Unix终端连接到FTP服务器(通过TLS / SSL显式)

  19. 19

    无法连接到FTP服务器-FEAT命令后断开连接

  20. 20

    如何通过bash脚本连接到ftp服务器?

  21. 21

    lftp没有连接到FTPS(通过TLS的FTP)服务器,但是filezilla和ncftp是

  22. 22

    如何通过FTP连接到Ubuntu 14.04服务器?没有安装vsftpd或proftpd

  23. 23

    PowerShell连接到FTP服务器并获取文件

  24. 24

    使用ftplib连接到FTP TLS 1.2服务器

  25. 25

    PowerShell连接到FTP服务器并获取文件

  26. 26

    无法使用Apache Airflow中的FTPHook连接到FTP服务器

  27. 27

    无法使用基于python的库ftplib连接到本地FTP服务器

  28. 28

    通过VPN连接时,FTP服务器连接被拒绝

  29. 29

    通过代理服务器连接到MySQL

热门标签

归档