搜索
aardio官方社区 门户 查看主题

我的第一个whttp库post程序

发布者: 落伍者 | 发布时间: 2011-7-2 20:17| 查看数: 14429| 评论数: 19|帖子模式

import win.ui;

/*DSG{{*/
var winform = win.form(parent=...; bottom=143;scroll=1;right=183;text="aardio Form" )
winform.add(
button2={ bottom=119;right=75;left=15;top=86;font=LOGFONT( name=
"宋体";h=-12 );z=6;text="刷新";cls="button" };
edit={ bottom=64;right=160;left=88;top=48;font=LOGFONT( name=
"宋体";h=-12 );z=3;text="";edge=1;cls="edit" };
button={ bottom=118;text=
"注册";left=101;top=85;font=LOGFONT( name="宋体";h=-12 );z=1;right=161;cls="button" };
picturebox={ bottom=72;right=96;left=16;text=
"picturebox";top=40;font=LOGFONT( name="宋体";h=-12 );transparent=1;z=2;cls="picturebox" };
static2={ text=
"帐号";bottom=24;right=72;left=24;top=8;font=LOGFONT( name="宋体";h=-12 );z=5;transparent=1;cls="static" };
edit2={ bottom=24;right=168;left=88;top=8;font=LOGFONT( name=
"宋体";h=-12 );z=4;text="";edge=1;cls="edit" }
)
/*}}*/

winform.show()

import inet.whttp;
whttp=inet.whttp()


winform.button2.oncommand =
function(id,event){
    whttp.beginRequest(
"http://www.icodo.com/inc/vdimgck.php","GET",);
    whttp.send();
    cookie=whttp.readHeader(
"Set-Cookie");
    winform.picturebox.image =whttp.read()
    whttp.endRequest();
        
}


winform.button.oncommand =
function(id,event){
   
var postData = "forward=?user=&member_type=1&username="+winform.edit2.text+"&pass1=199241&pass2=199241&email=sdfdssafgd%40qq.com&code="+winform.edit.text+"&xieyi=1";
   
var html= whttp.post("http://www.icodo.com/login/reg_save.php",postData,"Cookie:"+ cookie);
   
if(string.find(html,"恭喜你")){
        win.msgbox(
"注册成功了","aardio");
    }
   
elseif(string.find(html,"对不起")){
        win.msgbox(
"验证码错了","aardio");
    }
   
else{
        win.msgbox(html,
"其他错误");
    }
}

win.loopMessage();
return winform;





原帖地址
http://aardio.com/thread-307-1-1.html

最新评论

zhengzheng 发表于 2011-7-2 21:49:41

{:3_47:} 是值得参考。

是值得参考。
qqmmcc 发表于 2011-7-2 21:53:00

恭喜啊 ,这个例子确实值得参考,谢谢分享

恭喜啊 ,这个例子确实值得参考,谢谢分享
低调点 发表于 2011-7-2 22:03:28

很好很强大

很好很强大
cbtan 发表于 2011-7-4 09:32:45

支持支持{:soso_e102:}

支持支持{:soso_e102:}
o00viw 发表于 2011-7-11 08:49:13

有个问题:运行程序后,多点几次刷新后再点注册就会出错。 查找后发现后:第二次点刷新后,cookie就会变成NULL。如何解决呢?

有个问题:运行程序后,多点几次刷新后再点注册就会出错。

查找后发现后:第二次点刷新后,cookie就会变成NULL。如何解决呢?
cbtan 发表于 2011-7-11 09:37:21

[quote][size=2][color=#999999]o00viw 发表于 2011-7-11 08:49[/color] [url=forum.php?

o00viw 发表于 2011-7-11 08:49
有个问题:运行程序后,多点几次刷新后再点注册就会出错。

查找后发现后:第二次点刷新后,cookie就会变 ...

for(i=1;20;1){
    whttp.beginRequest(
"http://www.icodo.com/inc/vdimgck.php","GET",);
    whttp.send();
    cookie=whttp.readHeader(
"Set-Cookie");
   
if(cookie){break ;}
   
sleep(1000)
}
if(!cookie){
    win.msgbox(
"网络连接失败","aardio")
   
return ;
}
winform.picturebox.image =whttp.read()
whttp.endRequest();

o00viw 发表于 2011-7-11 09:49:17

[quote][size=2][color=#999999]cbtan 发表于 2011-7-11 09:37[/color] [url=forum.php?m

cbtan 发表于 2011-7-11 09:37
for(i=1;20;1){
    whttp.beginRequest("http://www.icodo.com/inc/vdimgck.php","GET",);
    whttp ...

应该不是次数这个原因造成的吧。我试好几次都出现20个NULL。
cbtan 发表于 2011-7-11 10:04:25

[i=s] 本帖最后由 cbtan 于 2011-7-11 10:07 编辑 [/i] [quote][size=2][color=#999999]o00vi

本帖最后由 cbtan 于 2011-7-11 10:07 编辑
o00viw 发表于 2011-7-11 09:49
应该不是次数这个原因造成的吧。我试好几次都出现20个NULL。

我好像误会你意思了。。。。。
jyb21 发表于 2011-7-16 21:14:44

有时间再注意看看

有时间再注意看看
aiwen 发表于 2011-7-16 22:30:38

[i=s] 本帖最后由 aiwen 于 2011-7-16 22:35 编辑 [/i] [quote][size=2][color=#999999]o00vi

本帖最后由 aiwen 于 2011-7-16 22:35 编辑
o00viw 发表于 2011-7-11 08:49
有个问题:运行程序后,多点几次刷新后再点注册就会出错。

查找后发现后:第二次点刷新后,cookie就会变 ...

做了个判断,就可以暂时解决这个问题,我测试了一下,注册是成功的。
cookie=null;
winform.button2.oncommand = function(id,event){
        math.randomize();
    whttp.beginRequest("http://www.icodo.com/inc/vdimgck.php?r="+math.random(),"GET",);
    whttp.send();
    if(!cookie){
            cookie=whttp.readHeader("Set-Cookie");
            }


    winform.picturebox.image =whttp.read()
    whttp.endRequest();
}
glod123 发表于 2011-7-18 09:04:06

好啊,学习的实例,不错 1

好啊,学习的实例,不错
1
qqmmcc 发表于 2011-7-26 02:08:47

修改了一下, 不需要处理cookie 测试注册成功 [color=#0000ff][quote][color=#0000ff]import[/color]

修改了一下, 不需要处理cookie  测试注册成功
import win.ui;
/*DSG{{*/
var winform = win.form(parent=...; bottom=143;scroll=1;text="aardio Form";right=183 )
winform.add(
button2={ bottom=119;text=
"刷新";left=15;top=86;font=LOGFONT( name="宋体";h=-12 );z=6;right=75;cls="button" };
edit={ bottom=64;right=160;left=88;top=48;font=LOGFONT( name=
"宋体";h=-12 );z=3;text="";edge=1;cls="edit" };
button={ bottom=118;right=161;left=101;top=85;font=LOGFONT( name=
"宋体";h=-12 );z=1;text="注册";cls="button" };
picturebox={ bottom=72;text=
"picturebox";left=16;right=96;top=40;font=LOGFONT( name="宋体";h=-12 );z=2;transparent=1;cls="picturebox" };
static2={ text=
"帐号";bottom=24;right=72;left=24;top=8;font=LOGFONT( name="宋体";h=-12 );transparent=1;z=5;cls="static" };
edit2={ bottom=24;right=168;left=88;top=8;font=LOGFONT( name=
"宋体";h=-12 );z=4;text="";edge=1;cls="edit" }
)
/*}}*/

winform.show()

import inet.whttp;
whttp=inet.whttp()

winform.button2.oncommand =
function(id,event){
    math.randomize();
    img = whttp.get(
"http://www.icodo.com/inc/vdimgck.php?r=" + math.random());
    winform.picturebox.image =img
   
}

winform.button.oncommand =
function(id,event){
   
var postData = "forward=?user=&member_type=1&username="+winform.edit2.text+"&pass1=199241&pass2=199241&email=sdfdssafgd%40qq.com&code="+winform.edit.text+"&xieyi=1";
   
var html= whttp.post("http://www.icodo.com/login/reg_save.php",postData);
   
if(string.find(html,"恭喜你")){
        win.msgbox(
"注册成功了","aardio");
    }
   
elseif(string.find(html,"对不起")){
        win.msgbox(
"验证码错了","aardio");
    }
   
else{
        win.msgbox(html,
"其他错误");
    }
   
    whttp.close()
}


win.loopMessage();
return winform;



点评

good  发表于 2011-7-26 08:53
weiqunxing 发表于 2012-9-30 06:10:55

做个标记

做个标记
kaicn511 发表于 2015-8-3 00:33:59

学习

学习
hhoonn 发表于 2015-12-4 12:02:38

做个标记,学习学习

做个标记,学习学习
sandorn 发表于 2016-3-7 13:52:37

做个标记,学习学习做个标记,学习学习做个标记,学习学习

做个标记,学习学习做个标记,学习学习做个标记,学习学习
saturn88 发表于 2016-3-10 18:14:10

学习了

学习了
auaau 发表于 2016-3-10 18:39:09

本来就不需要自己处理cookie, 服务端并不是每次都在响应头的set-cookie里把所有cookie都写一遍,只是在设置cookie的时候才会写,所以

本来就不需要自己处理cookie,

服务端并不是每次都在响应头的set-cookie里把所有cookie都写一遍,只是在设置cookie的时候才会写,所以不是每次都有这个头。

响应头中的set-cookie,与请求头中的cookie: 格式是不一样的
12下一页

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-7-21 09:37 , Processed in 0.078125 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表