有没有类似的vb apiThunderAgent.AddTask5(Url, "", "", Info, Location, -1, 0, -1,  strCookie, strCID, strStatUrl, 1, "", -1);本来用vb 通过这个api调用迅雷也不错。不过由于该api不能设置代理,所以不能满足我的要求。虽然迅雷里面可以设置代理,但由于我使用动态代理,没下载两个文件就要更换一个代理,所以迅雷不适合。我希望的功能有:winsock(url,保存地址,引用网址(来源页),http代理服务器地址,代理端口,代理用户名,代理密码,发送的http头)请问有没有这种下载接口。

解决方案 »

  1.   

    sf,上面那个问题不问了。如何将调用命令行文件。如某命令行文件a.exe 使用方法 a.exe -0 http://www.sohu.com
    现在想在vb 中调用。该怎么写vb程序?
      

  2.   

    如果用Winsock使用HTTP代理,需要了解一下HTTP代理协议。
    其实也很简单,就像HTTP协议一样,不过多了个发送给HTTP代理的http信息而已。
    给你看个发送给代理的头信息研究一下发送给代理,要求连接pop.126.com的110端口,这种方式适合于各种应用级的TCP/IP协议。如:
    HTTP/POP3/SMTP/FTP...CONNECT pop.126.com:110 HTTP/1.1
    Accept: */*
    Content-Type: text/html
    Proxy-Connection: Keep-Alive
    Content-length: 0代理返回给客户端表示连接成功,是200就OK了HTTP/1.0 200 Connection established
    Proxy-agent: 这里是代理程序的名称
    然后客户端就可以像平时一样使用了。
    还有一种方式是专门为HTTP协议而设置的,如:
    GET http://www.rljy.com/ HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
    Accept-Language: zh-cn
    Cookie: MMEC%3A1313Hhop98jp%2FYt=2007%2D11%2D2+22%3A09%3A30j39EzEjilq2ro6N45Hnp
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
    Host: www.rljy.com
    Proxy-Connection: Keep-Alive只是和平时的HTTP头有少许不同而已,基本上差多Winsock只是封装了基本SockAPI的控件,没有这些高级应用的,也就因为比较底层,所以也很灵活。
    Winsock要用代理的话就只有研究代理协议,自己去开发了。
      

  3.   

    谢楼上,对于http协议和http头我理解的,只不过不知道在写xmlhttp中 XMLObject.Send 的时候,该加上哪个参数而已。现在放弃使用vb本身的xmlhttp,因为他稳定性不够,要下载个100多k的小文件,可能会导致长期间无相应。现决定使用迅雷接口或者curl接口。据说curl命令行非常强大。