搜索
查看: 16189|回复: 19

我的第一个whttp库post程序

    [复制链接]

117

主题

1237

帖子

6592

积分

六级会员

Rank: 9Rank: 9Rank: 9

积分
6592
发表于 2011-7-2 20:17:35 | 显示全部楼层 |阅读模式
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
我是菜鸟...
回复

使用道具 举报

0

主题

4

帖子

48

积分

一级会员

Rank: 2

积分
48
发表于 2011-7-2 21:49:41 | 显示全部楼层

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

是值得参考。
回复

使用道具 举报

52

主题

1340

帖子

7326

积分

荣誉会员

Rank: 8Rank: 8

积分
7326
发表于 2011-7-2 21:53:00 | 显示全部楼层

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

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

使用道具 举报

65

主题

953

帖子

5036

积分

荣誉会员

Rank: 8Rank: 8

积分
5036
发表于 2011-7-2 22:03:28 | 显示全部楼层

很好很强大

很好很强大
回复

使用道具 举报

56

主题

474

帖子

3808

积分

荣誉会员

Rank: 8Rank: 8

积分
3808
发表于 2011-7-4 09:32:45 | 显示全部楼层

支持支持{:soso_e102:}

支持支持{:soso_e102:}
回复

使用道具 举报

51

主题

265

帖子

1548

积分

四级会员

Rank: 6Rank: 6

积分
1548
发表于 2011-7-11 08:49:13 | 显示全部楼层

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

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

查找后发现后:第二次点刷新后,cookie就会变成NULL。如何解决呢?
回复

使用道具 举报

56

主题

474

帖子

3808

积分

荣誉会员

Rank: 8Rank: 8

积分
3808
发表于 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();

回复

使用道具 举报

51

主题

265

帖子

1548

积分

四级会员

Rank: 6Rank: 6

积分
1548
发表于 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。
回复

使用道具 举报

56

主题

474

帖子

3808

积分

荣誉会员

Rank: 8Rank: 8

积分
3808
发表于 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。

我好像误会你意思了。。。。。
回复

使用道具 举报

48

主题

593

帖子

3336

积分

五级会员

Rank: 8Rank: 8

积分
3336
发表于 2011-7-16 21:14:44 | 显示全部楼层

有时间再注意看看

有时间再注意看看
回复

使用道具 举报

3

主题

57

帖子

1004

积分

四级会员

Rank: 6Rank: 6

积分
1004
发表于 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();
}
回复

使用道具 举报

1

主题

18

帖子

98

积分

一级会员

Rank: 2

积分
98
发表于 2011-7-18 09:04:06 | 显示全部楼层

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

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

使用道具 举报

52

主题

1340

帖子

7326

积分

荣誉会员

Rank: 8Rank: 8

积分
7326
发表于 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
回复

使用道具 举报

18

主题

76

帖子

408

积分

二级会员

Rank: 3Rank: 3

积分
408
发表于 2012-9-30 06:10:55 | 显示全部楼层

做个标记

做个标记
回复

使用道具 举报

0

主题

8

帖子

49

积分

新手入门

Rank: 1

积分
49
QQ
发表于 2015-8-3 00:33:59 | 显示全部楼层

学习

学习
回复

使用道具 举报

2

主题

5

帖子

32

积分

新手入门

Rank: 1

积分
32
发表于 2015-12-4 12:02:38 | 显示全部楼层

做个标记,学习学习

做个标记,学习学习
回复

使用道具 举报

0

主题

15

帖子

143

积分

一级会员

Rank: 2

积分
143
发表于 2016-3-7 13:52:37 | 显示全部楼层

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

做个标记,学习学习做个标记,学习学习做个标记,学习学习
回复

使用道具 举报

0

主题

11

帖子

139

积分

一级会员

Rank: 2

积分
139
发表于 2016-3-10 18:14:10 | 显示全部楼层

学习了

学习了
回复

使用道具 举报

12

主题

309

帖子

1798

积分

荣誉会员

Rank: 8Rank: 8

积分
1798
发表于 2016-3-10 18:39:09 | 显示全部楼层

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

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

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

响应头中的set-cookie,与请求头中的cookie: 格式是不一样的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2018-10-23 08:48 , Processed in 0.093750 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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