以下这个代码报错#10054
_content := IdHTTP1.Get('http://HMM3Y.ibc168.com/ValidateTicket.aspx?c=scSvzU4AfYg=&t=87763481&l=en&f=nReSaj6pl4g=&o=16GPeAjqfVU5kfIPYgw1Tg==');
情况描述:
1、通过www.ibc168.com地址进行登录成功。
2、服务器指示跳转到另一台服务器http://HMM3Y.ibc168.com的时候无法访问#10054,服务器系统是IIS6。3、通过IE直接访问出错的地址,可以访问,并有数据响应。
4、通过Idhttp访问出错的地址,不可以访问,没有数据相应。
5、对比IE请求数据的http包和idhttp的http包,没有不用之处。本人猜测:1、http://HMM3Y.ibc168.com服务器设置的防火墙,拒绝了Idhttp的访问。求助:
1、故障原因是什么?
2、如何解决。请指导解决,谢谢!!!!!

解决方案 »

  1.   

    另外连接超时没?
    据一位前辈说IdFTP是有bug的……难道现在还没修正……
      

  2.   

    倒塌……看错了……是Idhttp……抱歉
     WSAECONNRESET   (10054)   連結已被對方重新設定   
        
      連結已被對方系統強迫中斷了。TCP/IP協定核心如果偵測出stream   socket的連接發生問題的話,它會傳一個表示連接重設(reset)的訊息給對方。此時對方程式會得到WSAECONNRESET的錯誤訊息。   
        
      socket的端口号是不是被占了,改成其他的socket端口号,最好大于5000   
      或者可能是socket通讯协议连接错误,需要重启。   
      

  3.   

    我用indy10,连接没有超时,有异常保护。
    其实是要解决异常,因为这个正常不应该报#10054异常。帮忙分析一下
      

  4.   

    多谢gyk120 服务器是别人商业运行的服务器,不存在故障
    我做的客户端连接不了别人的商业服务器,因此问题只能在客户端进行分析解决。
      

  5.   

    汗……上面那一段是我copy过来的……本身就是繁体,我懒得去改了
    客户端的socket端口改了不行么?
      

  6.   

    gyk120 ,Idhttp组件我没有设置过端口,采用默认值。1、是否需要设置?同样的配置访问其它地址是正常的。
    2、请教如何设置。
      

  7.   

    Idhttp本身有个port属性吧?
    把url里面的端口号提取出来,赋给port后,再get去掉端口号的url试试
      

  8.   


    url里面的端口号指的是服务器的端口号,这个如果不指定就是80端口,现在要走的也是这个端口,IE访问指定地址的也是这个端口,因此不是这个问题。