免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 14887 | 回复: 63
打印 上一主题 下一主题

怎样编写一个C程序来登录一个论坛? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-19 12:36 |只看该作者 |倒序浏览
比如说,有一个论坛,你有自己的账号和密码,
能不能编写一个程序来登录这个论坛,
具体是怎样实现的?
(只要用户名和密码就可登录)
谢谢大家

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2007-09-19 12:45 |只看该作者
兄弟想做的也是一个自动登录吧,之前也有一个帖子在讨论这个问题

论坛徽章:
0
3 [报告]
发表于 2007-09-19 12:46 |只看该作者
我想了一天多了,也没有想到一个好一点的办法,如果要发包应该怎样来发包和处理服务器发过来的包呢。

论坛徽章:
0
4 [报告]
发表于 2007-09-19 12:48 |只看该作者
有吗?兄弟。
我看到的http协议要三次握手,看样子象是很复杂的,

[ 本帖最后由 zhanglupanda 于 2007-9-19 12:50 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-09-19 12:56 |只看该作者
握手是TCP层做的,你只需要关注HTTP的来回数据就可以,不用考虑底层它是怎么实现的。
先自己登录,看看整个过程数据是怎么样的,其实这个看登录界面的代码就能看出来,看一下那个form里面的几个ID,写程序post就好了。

感觉你不太懂网络,别用C了,用perl实现起来比较方便,用LWP库。

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
6 [报告]
发表于 2007-09-19 13:04 |只看该作者

回复 #1 zhanglupanda 的帖子

原帖由 zhanglupanda 于 2007-9-19 12:36 发表
比如说,有一个论坛,你有自己的账号和密码,
能不能编写一个程序来登录这个论坛,
具体是怎样实现的?
(只要用户名和密码就可登录)
谢谢大家



  这可不是 C/C++  的强项,我用 perl 做过一个。不过 perl 本身是用  C  写的。

$browser = LWP::UserAgent->new;

$url = 'http://bbs.abcdefg.com.cn/Login.asp';

$response = $browser->post( $url,

                ['username' => 'abc',

                 'Pwd' => '12345',
                ]
              );

$html = $response->content;

print($html);

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2007-09-19 13:06 |只看该作者
libcurl 真的很方便。

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
8 [报告]
发表于 2007-09-19 13:12 |只看该作者

回复 #7 flw 的帖子

原帖由 flw 于 2007-9-19 13:06 发表
libcurl 真的很方便。


前辈就是前辈,我又长知识了。

论坛徽章:
0
9 [报告]
发表于 2007-09-19 13:13 |只看该作者
先谢谢楼上几位大哥,
可我爱死C了,就想用它。
我有tcpdump看了一下,可以看到有三次握手。
我对网络确实不是很了解,计算机网络现在忘的差不多了,不过我会再看,
libcurl,这个。。。,能再说一说具体怎样用吗?
(受益于flw好多次了,深表感谢)

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2007-09-19 13:13 |只看该作者
原帖由 zhujiang73 于 2007-9-19 13:12 发表

我又长知识了。
原帖由 zhanglupanda 于 2007-9-19 13:13 发表
(受益于flw好多次了,深表感谢)


记得别改天反过来骂我就成。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP