原文下载:http://www.ziddu.com/download/3923096/3.doc.html
问题描述:
自动登录校内网,并发布博客文章。
难点:
HTTP是无状态协议,如何在多个HTTP请求之间进行状态保持?
说明:
本次实验是在前两次实验的基础之上,假定同学们已经能够用代码实现前两次实验的功能(访问页面和发送数据)。这次实验比前两次实验的所增加的知识点在于状态保持,也就是,登录后,如何保持Cookie和Session,从而发布文章时,让服务器以为你是已登录用户。
具体实现:
1.首先进行抓包分析。需要分析两次HTTP包,即登录包和发布文章包。
(1)打开校内网,找到登录页面进行登录,并抓包分析。
http://login.xiaonei.com/Login.do
(2)找到发表博客的页面,发布一篇新的日志,并抓包分析。
http://blog.xiaonei.com/NewEntry.do
通过理论课所讲知识可知,服务器端利用Session实现状态保持,而这个Session是通过存在浏览器端的一个Cookie进行识别的,在抓包时可以注意这个Cookie。
2.用代码实现
编码格式:UTF-8
代码实现的两个任务是:一是发一个登录的包,并保存服务器端返回的Cookie。二是再发送一个发布文章的包,同时注意把上一步保存的Cookie也发送出去。
关键代码:
Java版
片断1
HttpClient client=new HttpClient();
PostMethod post=new UTF8PostMethod("http://login.xiaonei.com/Login.do");
post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//下面这条代码可以实现自动保存Cookie
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
片断2
post.setRequestBody(data); //设置要发送的数据(登录信息)
client.executeMethod(post); //发送登录请求
C#版
片断1
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://login.xiaonei.com/Login.do");
request.Method="POST";
request.Cookies=new CookieContainer();
片断2
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
request.GetRequestStream().Write(data, 0, data.Length); //设置要发送的数据(登录信息)
片断3
CookieContainer cookies = request.CookieContainer; //保存Cookie
片断4
//下面这些代码生成一个新的POST请求(发布文章),并设置其Cookie为在上一步所保存的Cookie
request = (HttpWebRequest)WebRequest.Create("http://blog.xiaonei.com/NewEntry.do");
request.CookieContainer = cookies;
分享到:
相关推荐
自己写的校内网博客发布机器人java代码 自动在校内网博客发布文章 这是一个很简单的用于说明性质的代码,没有界面,你可以对它进行改进,例如从数据库读取文章内容等,以实现更强大的功能。
自己写的校内网博客发布机器人C#代码 自动在校内网博客发布文章 这是一个很简单的用于说明性质的代码,没有界面,你可以对它进行改进,例如从数据库读取文章内容等,以实现更强大的功能。
【人人网客户端(简洁版)】是一款专为访问人人网设计的简化版应用程序,旨在让用户更轻松快捷地浏览和操作人人网平台。该程序可能剔除了原客户端的一些非核心功能,以实现轻量化和快速启动的目标,对于那些只需要...
人人网,原名校内网,是中国领先的社交网络平台,其发展历程和商业模式体现了SNS(Social Network Software)在中国互联网领域的发展和演变。SNS是一种基于六度理论,通过连接用户的朋友圈,实现人脉扩展的服务。它...
左侧功能栏体现了人人网的丰富服务,如博客、相册、好友、即时聊天(人人通)、群、社区、站内信、校友录和分享等。这些功能帮助用户建立联系、分享生活、表达观点。博客允许用户发布文章并接收反馈;相册提供照片...
2. 校内网特点:校内网以大学生为主要内容创造者,采用实名制策略,提供信息发布、日志共享、社交等功能。互动技术通过官方论坛、个人主页、日志、相册等实现,用户群体包括大学生、高中生和白领,社区包括学校和...
该系统制作整整30个工作日,包含招聘兼职,交友系统(基本上参合了人人网系统简单交友),自制博客(可以根据我的代码来修改),发布文章包含静态页面,自动生产对应文件夹及html,大部分伪静态(博客,主页,子页,...
21世纪人人上网,人人有网站的时代,您不再无助,HituxBlog愿助您一臂之力,携手共进! 系统无与伦比的五大特色: 1、页面设计够简单,拒绝花俏; 2、便捷后台,管理前台所有内容; 3、页面全静态化,易优化且高效...
【网络资源】:这篇文档分析了校内网的营销战略和盈利模式,主要探讨了网络在现代社会中的六种主要用途,以及如何通过精细化市场定位和多元化服务来吸引并保留用户。 1. **网络的六大用途**: - **信息获得**:...
以新浪、网易、搜狐为代表的中国门户网站,以及Facebook、人人、朋友网等社交网络服务平台(SNS)都提供了博客空间,使得博客成为人们日常生活中不可或缺的一部分。博客内容通常由博主不定期更新,且内容一般按照时间...
如果你的博客有新的文章发布,而人人网没有自动抓取到,你可以手动再次执行导入操作。尽管大部分情况下,RSS订阅应该能自动检测到新内容,但偶尔可能需要人工干预确保同步无误。 通过以上步骤,你就完成了...
点点网作为国内首个引入轻博客概念的平台,由人人网前负责人许朝军创办,它迅速吸引了大量的用户。随后,盛大集团推出了“推他”,新浪推出了轻博客Qing,网易也在内测其轻博客产品,并计划将其与微博和邮箱服务相...
2.2 博客发布与管理 用户可发布自己的博客文章,包括文字、图片和链接等多媒体内容。用户应能编辑、删除自己的博客,并可以对已发布的文章进行分类和标签管理。 2.3 评论与互动 用户可以对其他人的博客文章进行评论...
随后,各大互联网巨头如新浪、盛大、人人网和网易纷纷跟进,推出自家的轻博客产品,试图利用自身庞大的用户基础和资源进行市场渗透。 【企业战略】 1. **产品线防御**:新浪推出轻博客Qing,旨在保持其在微博市场的...
系统将由前端用户界面、后端服务器、数据库管理系统和安全机制四大部分组成,实现用户登录、博客发布、评论管理、搜索查询等功能。 3. 应用环境 3.1 系统运行网络环境 系统需能在校园内部署,支持多种网络环境,...
在模式上,点点网强调以“兴趣”为导向,区别于其他社交媒体平台如腾讯的“即时联系”,人人网的“同学关系”,以及新浪微博的“名人”和“事件”。点点网的发展风格与豆瓣相仿,具有一定的文艺气息。 在产品和运营...
在当前的国内SNS行业中,虽然社交网络如开心网、校内网广受欢迎,但它们过于侧重娱乐功能,忽视了扩展人际交往圈子的初衷。聚豆网的出现弥补了这一空白,它以丰富的线下聚会和活动为核心,为用户提供了全新的社交...
而且传统媒体是通过职业人士获取信息、素材,而人人都可以成为博主,随时随地自主 发布信息。 博客的这些特性是传统媒体难以超越的,是它的特色,但也存在一些争议。比如:虽然这种 新的传输方式可以输是一种巨大的变革,...
【标题】"自己做的JSP校内网"项目解析 该项目是一个基于JSP技术构建的校内社交网络平台,旨在为校园用户提供一个集登录、注册、互动交流于一体的在线社区。以下将详细介绍该项目的关键技术和实现原理。 一、JSP...
- 博客发布与浏览:用户发表、编辑、删除博客,浏览其他用户博客。 - 搜索与分类:按关键词、分类等搜索博客。 - 访问统计与管理:记录访问量,管理高流量用户。 - 安全与权限:数据保护,权限控制,信息备份。 - ...