Debugging Proxy Not Found error - trying to set a transparent FTP proxy

  • Hi All,

    First post and was hoping that someone might be able to assist.

    I am trying to set up proxy support for our application, which uses FTP, using Qt 4.7.3, and am having difficulty with the various options and settings. I am using Windows 7, and have a test machine that requires a proxy to be used, and the proxy server is using Squid. Unfortunately, I do not have access to the configuration of the proxy server.

    I am using QNetworkProxyFactory::systemProxyForQuery to get the proxy, and this seems to be returning the correct settings as defined for FTP in Internet Settings.

    On a machine where no proxy is required, I can successfully get my file through an FTP connection.

    On the test machine, my QNetworkRequest fails with a QNetworkReply::ProxyNotFoundError. Pinging the proxy server from the command line works with no problems, and I am able to access the net through a browser which also requires the proxy.

    I don't really know how best to proceed - I am getting an error which I don't really understand the cause of, and was wondering if I could find out any more information with from the system.

    I have tried accessing the FTP site using CoreFTP, and this works when accessing the site through an FTP connection, with the same proxy host/port set, with the settings set as a Transparent FTP Proxy, but I don't know how to set such a configuration in Qt.

    When I use QNetworkProxyFactory::systemProxyForQuery for my FTP request, I get a proxy with the following:
    @Type : HttpProxy
    Tunneling : true
    Listening : false
    UPD Tunneling : false
    Caching : true
    Host Lookup : true
    isCaching : true
    isTransparent : true@

    I have also tried to set the type to be a Socks5Proxy as per the code example, and an FtpCachingProxy, but this also seemed to fail in the same way.

    I will be perfectly honest and say I don't totally understand all of the different proxy options and capabilities, but would greatly appreciate if someone could assist me with this.



  • I have been looking into this a little more, and I am now wondering if it is possible to do this :(

    Looking at QNetworkAccessFtpBackend::open() , it seems that this will only work through NoProxy or an FtpCachingProxy

    Also, I have looked into some of the proxy code, and in qnetworkproxy_win.cpp, in parseServerList, it looks like the only possible returns are HttpProxys, or Socks5Proxys

    Am I right in thinking that this is essentially not supported on windows? :(

Log in to reply