自己写的HTTP协议组件
2008年年底写的,当时技术也很菜,一直修修改改用到现在。
在编写这个代码的时候我也熟悉了HTTP协议
程序功能:
1.支持GET请求、POST提交数据、来路设置
2.支持简单的Cookies操作
3.简单的UTF-8编码判断,并转码
4.上传文件
5.保存请求的数据到一个文件
6.支持响应数据无长度,Chunked类型
7.支持非80端口 如http://www.a.com:81/
8.支持Location跳转
9.支持阻塞、异步提交
10.支持下载百分比
缺点:
1.每次请求都是建立新的TCP连接
2.不支持GZIP压缩页面
演示代码:
'使用临时文件 用于大型页面
'UC_HTTP1.Received_TempFile = True
'设置提交头
'UC_HTTP1.SetHeader
'UC_HTTP1.SetRequestHeader "Test", "value"
'阻塞提交
'UC_HTTP1.SendDataBlock "http://www.baidu.com/"
'简单提交页面 异步
UC_HTTP1.SendData "http://www.baidu.com/"
'测试非默认端口
'UC_HTTP1.SendData "http://www.google.cn:99/"
'测试UTF-8编码
'UC_HTTP1.SendData "http://www.im286.com/"
'测试跳转 2012-6-9:页面不会跳转
'UC_HTTP1.SendData "http://www.g.cn/"
'测试下载文件
'UC_HTTP1.SendData "http://127.0.0.1/a2.exe", , , , , App.Path & "\a.exe"
'上传文件
'UC_HTTP1.Upload "http://localhost/upload.php", "file", "D:\Documents\admin\桌面\test.gif"
'提交数据
'UC_HTTP1.SendData "https://passport.baidu.com/?login", "http://passport.baidu.com/?login&tpl=mn", E_POST, "tpl_ok=&next_target=&tpl=mn&skip_ok=&aid=&need_pay=&need_coin=&pay_method=&u=http%3A%2F%2Fwww.baidu.com%2F&return_method=get&more_param=&return_type=&psp_tt=0&password=密码&safeflg=0&username=用户名", E_GB2132
演示文件:http://www.fisheep.com/usr/uploads/2012/06/4151064459.rar
[解决办法]
打不开