1、如何设置读取超时、连接超时的时间?2、在internetopen中设置了一个需要用户名、密码的代理后,用户名、密码我该往哪里填?3、接受到的网页是经过压缩的(象www.google.com的网页数据包),该如何解码?

解决方案 »

  1.   

    1、如何设置读取超时、连接超时的时间?InternetSetOption(....);
    //不过 连接 超时设了根本没用,总是20秒左右2、在internetopen中设置了一个需要用户名、密码的代理后,用户名、密码我该往哪里填?
    InternetSetOption(...
    //可以在收到HTTP_STATUS_PROXY_AUTH_REQ状态码之后进行动态设置
      
    3、接受到的网页是经过压缩的(象www.google.com的网页数据包),该如何解码?
    //不知道
      

  2.   

    谢谢楼上的,只是这(//可以在收到HTTP_STATUS_PROXY_AUTH_REQ状态码之后进行动态设置)个我怎么做?我用wininet函数顺序如下:
    internetopen (这里设置了使用代理)
    (这里设置超时值对吧,我加上internetsetoption(INTERNET_OPTION_RECEIVE_TIMEOUT))
    internetconnect
    httpopenrequest
    httpsendrequest
    internetreadfile我该把句子插在哪里呢?还有,因为我需要用socks代理,按internetopen的函数说明,说如果安装了IE,则这个函数也支持socks代理,可是我试都不行(我是IE6),假如我用sock4的话会返回一个成功标志,可是网页却取不回来,是空的;用sock5的话则出现12152错误,这个socks代理到底该如何用
      

  3.   

    你用的是同步调用方式吧:internetopen (这里设置了使用代理)
    internetconnect
    httpopenrequest(这里设置超时值,第一个参数是httpopenrequest返回的request handle)
    //InternetSetOption(hRequest,INTERNET_OPTION_CONNECT_TIMEOUT , @(TimeOuts[0]), SizeOf(DWORD));
    //InternetSetOption(hRequest,INTERNET_OPTION_SEND_TIMEOUT , @(TimeOuts[1]), SizeOf(DWORD));
    //InternetSetOption(hRequest,INTERNET_OPTION_RECEIVE_TIMEOUT, @(TimeOuts[2]), SizeOf(DWORD));
    httpsendrequest//这里用HttpQueryInfo()获取到返回response头的有关信息,internetreadfile
      

  4.   

    在 internetreadfile 里的读取超时是那个设置?读取超时时返回的错误号是什么?这个socks代理到底该如何用?
      

  5.   

    现在问题还剩下两:1、接受到的网页是经过压缩的(象www.google.com的网页数据包),该如何解码?2、因为我需要用socks代理,按internetopen的函数说明,说如果安装了IE,则这个函数也支持socks代理,可是我试都不行(我是IE6),假如我用sock4的话会返回一个成功标志,可是网页却取不回来,是空的;用sock5的话则出现12152错误,这个socks代理到底该如何用