![]() |
|
这里的method=GET方法表明,这个页面采用的是GET方法。URL是http://add-url.altavista.digital.com/cgi-bin/newurl,需要传送的数据是ad和p。GET方法的特点是将数据加在URL后面,如: http://add-url.altavista.digital.com/cgi-bin/newurl?ad=1&q=http%3A%2F%2Faskpro.yeah.net。 在VB中直接使用 objInet.Protocol = icHTTP objInet.Execute "http://add-url.altavista.digital.com/cgi-bin/newurl?ad=1&q=http%3A%2F%2Faskpro.yeah.net", "GET" 就可以了。 你可能注意到了%3A%2F%2F这些字符串,这叫URL Encode,它的转换方法很简单,就是%加上要传送的字符的ASCII码(16进制),如“:”号的ASCII码为3A,所以它编码后就成了%3A。一般特殊的符号(如:+、/、?等)和汉字需要进行编码。 我们站点的提问是填写的表单是POST方式的(我之所以不拿它举例是因为这个表单传送的数据量较大)。它同GET方式的主要区别是数据不是直接加在URL后面。而是放在Execute方法的postdata参数中。其它基本相同。不过,早期的VB 5.0的INet控件有问题,不能实现POST方法,你需要升级到SP2以上的版本或者参考QA000102 "如何实现POST方法"以获得解决方法。 至于如何识别是否成功,一般你要注意StateChanged事件,根据这个事件的变化及时显示状态。如果在这个事件State为icError,说明有错误。如果State为icResponseCompleted,则说明传输成功,不过这不对于成功,有时还可能出现比如URL没找到之类的错误,你还需要根据返回的资料进行判断。 此问题由李海回答。
|
| 版权所有 1997-2008 热情软件屋 如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com。 |
Web Designed by ZebraStudio |