用FTP的API函数下载FTP上的文件,上网方式是用代理服务器,请问如何设置才能下载?

解决方案 »

  1.   

    http://www.devx.com/getHelpOn/10MinuteSolution/20373/1954?pf=true
    http://www.kbalertz.com/Feedback_166961.aspx
      

  2.   

    部件:microsoft internet transfer control很好用的
      

  3.   

    象代理服务器为192.168.1.1,端口为8080,应怎样设置。打开连接的API函数如下:
    Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
    (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
    ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
    'sAgent--要调用internet对话的应用程序名
    'lAccessType--请求的访问的类型,包括:
    'INTERNET_OPEN_TYPE_PRECONFIG---预配置(缺省)
    'INTERNET_OPEN_TYPE_DIRECT--直接指向internet
    'INTERNET_OPEN_TYPE_PROXY--通过代理服务器连接
    'sProxyName--如果lAccessType被设置为INTERNET_OPEN_TYPE_PROXY,该参数为
    '代理服务器的名字
    'sProxyBypass--包含一系列代理服务器地址的字符串
    'lFlags--会话的选项,可包括下列值:
    'INTERNET_FLAG_DONT_CACHE--不对数据进行本地缓冲或通过网关服务器缓冲
    'INTERNET_FLAG_ASYNC--当操作完成时,将同INTERNET_STATUS_REQUEST_COMPLETE
    '一起进行一个状态回调
    'INTERNET_FLAG_OFFLINE--只通过永久缓冲进行下载操作
    请问如何设置通过代理服务器连接。
      

  4.   

    '标示调用Internet会话的应用程序的名称
    Public Const scUserAgent = "FTP CLIENT"
    '按照预定义的方式打开连接Internet对话
    Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0'直接连接Internet
    Public Const INTERNET_OPEN_TYPE_DIRECT = 1
    '通过代理服务器连接
    Public Const INTERNET_OPEN_TYPE_PROXY = 3Private Sub cmdInternetOpen_Click()
    '在建立一定类型的Internet连接前,必须首先建立Internet对话,如果成功建立
    'Internet对话,则返回一个句柄作为建立相应类型的连接(在这里是FTP连接)
    'InternetConnect()的参数
        If Len(txtProxy.Text) <> 0 Then
            hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PROXY, txtProxy.Text, vbNullString, 0)
        Else
            hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
        End If
        '打开internet连接的线程后,根据打开的结果设置各个按扭的状态
        If hOpen = 0 Then
        MsgBox "不能打开Internet连接", vbCritical
        Else
        ...
        End If
    End Sub