熟悉ICS的THttpCli控件的大富翁来讨论一下,小弟有几个问题始终没搞定。(278分)

  • 主题发起人 主题发起人 ildg
  • 开始时间 开始时间
I

ildg

Unregistered / Unconfirmed
GUEST, unregistred user!
1、此控件在发送命令时有一条为
User-Agent: Mozilla/4.0 (compatible; ICS)
我想把后面的“(compatible; ICS)”里面的ics那几个字符改掉,于是我在源码中搜索,
结果搜出来了,总共就一处地方,于是我把它改过来了,但是运行的时候出现的还是没有
改过来呀,真奇怪。(说明,这个东东是在oncommand事件里面出现的,还有就是在onbeforeheadersend事件中也会出现),不知道怎么就是改不过来。
2、这个控件有OnSocketError,还有OnSocketError,这两个有什么区别啊?
3、StatusCode属性应该就是http的statuscode吧,404应该是找不到文件啊,但是我调用这个控件的abort方法以后,这个属性也是404,信息是“Connection aborted on request”,也就是说取消连接时的statuscode也是404?
4、在使用get方法的过程中OnheaderBegin和OnHeader事件会发生两次,这个正常吗?
5、这个控件有个MultiThreaded属性,但是我不知道它到底有什么用,线程安全吗?
我在窗口上放一个这个控件,然后设置他的这个属性为true,也运行得好好的,没什么
不对呀。
好了,就这么多问题吧,可能分比较少,但是我目前就这么分,希望大家来踊跃讨论,
谢谢。
 
我来回答吧(仅供参考)
1.可能是没有重新编译或者路径的问题吧。
2.不知所云。
3.你只要查看源码就可以清楚,StatusCode一方面是根据http返回的信息,另外一个方面控件自己设置了一些,必然错误等等,但大部分是符合http协议的规范的。
4.一般情况下是一次,但当出现“重定向时”会发生2次或者以上(必须是http重定向http,若是http重定向ftp则自动中止下载)。
5.这个属性是用来保证你的程序在多线程下是否安全的,若你的程序不是多线程程序,则设置不设置这个属性没有什么不同,若你的httpCli在另外一个线程中运行,为了安全,最好设置这个属性。
 
非常干些headchen的解答,
昨天晚上我看了一下源代码,
第1、3个问题已经看明白,
第四个问题根据您的回答,已经明白了一点,
第二个问题的意思是说两个事件,OnSocketsError和OnSocketError事件,有什么区别,
只有一个s的差别而已。
第5个问题根据您的回答,我也明白了。
再次感谢您的耐心讲解。
 

Similar threads

后退
顶部