本篇文章给大家谈谈门户网站新闻api接口,以及新闻资讯api接口对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享门户网站新闻api接口的知识,其中也会对新闻资讯api接口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何使用zoundy写离线博客发布到google blogger?blogger的api接口是什么?
1、 Blog(from wiki)
历史:
Blog一词本起源于 weblog
门户网站新闻api接口,意思是网上日志。1997年由 Jorn Barger所提出。在1998年, infosift 的编辑Jesse J. Garrett (http://www.jjg.net),将一些类似blog的网站收集起来,寄给Cameron Barrett。 Cameron随后将名单发布在CamWorld网站上,许多人亦陆续将blog的URL给Cameron,慢慢的,一个新的网络社区俨然成型。1999年,Brigitte Eaton (http://www.eatonweb.com)成立一个weblog 目录,收集她所知道的blog站。1999年,Peter Merholz (http://www.peterme.com)首次使用缩略词“blog”,成为今天常用的术语。但是,blog 真正开始快速发展的转折点,是在1999年6月,当时Pitas开始提供免费的weblog服务,紧接着8月,Pyra lab推出了现在的blogger.com。blogger.com 提供了简单易学的说明,以及能通过FTP直接将blog发表在个人网站上的功能,这带给使用者很大的方便。目前已经有了很多Blog托管服务商(BSP),业内人士对其盈利前景,持谨慎乐观态度。
Blog的特点
Blog是个人或群体以时间顺序所作的一种记录,并且不断更新。blog之间的交流主要是通过回溯引用(TrackBack)和回响/留言/评论(comment)的方式来进行的。blog的操作管理用语,也借鉴了大量档案管理用语。一个blog亦可被视为一个档案(archives),或是卷宗(fonds)。与传统档案不同的是,blog的写作者(blogger),既是这份档案的创作人(creator),也是其档案管理人(archivist)。
Blog大量采用了RSS(Really Simple Syndication或者Rich Site Summary或者RDF Site Summary)技术,所有的RSS文件都必须符合由W3C发布的XML 1.0规范。对读者来说,可以通过RSS订阅一个blog,确知该blog作者最近的更新。对Blog作者来说,RSS可以使自己发布的文章易于被计算机程序理解并摘要。
对知识管理和创造而言,blog提供了新的形态和途径。对汉语为母语的人而言,blog写作既接续了汉语笔记文学的优秀传统,更充分鼓励了个人表达。从交往形态考察,网志空间(blogosphere)设定了积极的读者、作者、编者互动转换关系,“言者互重,阅者相惜 ”。
2、 Tag (from blogbus)
什么是Tag?
Tag(标签)是一种更为灵活、有趣的日志分类方式,您可以为每篇日志添加一个或多个Tag(标签),然后您可以看到BlogBus上所有和您使用了相同Tag的日志,并且由此和其他用户产生更多的联系和沟通。不仅如此,
门户网站新闻api接口我们还通过与Technorati的合作,把您的Tag发送到全球Blog空间,和全世界的人们共同分享。
Tag体现了群体的力量,使得日志之间的相关性和用户之间的交互性大大增强,可以让您看到一个更加多样化的世界,一个关联度更大的Blog空间,一个热点实时播报的新闻台。Tag为您提供前所未有的网络新体验……
当然,您也可以简单地把一个Tag(标签)理解为一个日志分类,但是Tag和分类的不同之处也很明显:
首先,分类是您在写日志之前就定好的,而Tag是在您写完日志之后再添加的;
其次,您可以同时为一篇日志贴上好几个Tag(标签),方便自己随时查找,而原先一篇日志只能有一个分类;
再次,当您积累了一定数量的Tag之后,您可以看看自己在Blog中最经常写的是哪些话题;
最后,您可以看到有哪些人和自己使用了一样的Tag(标签),进而找到和您志趣相投的Blogger。
举一个例子,比如说:您写了一篇到西湖旅游的日志,原来您都是把这一类的日志放到自己的“驴行天下”分类下,但是有了Tag之后,您可以给这篇日志同时加上“旅游”、“杭州”、“西湖”、“驴行天下”等几个Tag,当浏览者点击其中任何一个Tag,他都可以看到您的这篇日志。同时您自己也可以通过点击这几个Tag,看看究竟有谁最近也去了杭州旅游,或许你们还可以交流一下旅游心得,成为下一次出游的伙伴呢!
3、 SNS
Social Network Service,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。
SNS网站,就是依据六度理论建立的网站,帮你运营朋友圈的朋友。
4、 RSS(from wiki)
RSS是一种用于共享新闻和其他Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个:
Really Simple Syndication(真正简单的整合)
RDF (Resource Description Framework) Site Summary
Rich Site Summary(丰富站点摘要)
但其实这三个解释都是指同一种Syndication的技术。
目前RSS规范的主要版本有0.91、1.0和2.0。
0.91版和1.0版完全不同,风格不同,制定标准的人也不同。0.91版和2.0版一脉相承。1.0版更靠拢XML标准。
RSS目前广泛用于blog、wiki和网上新闻频道,世界多数知名新闻社网站都提供RSS订阅支持。
5、 Wiki(from wiki)
Wiki一词源自夏威夷语的「wee kee wee kee」,本是「快点快点」之意。在这里Wiki指的是一种超文本系统。这种超文本系统系支持那些面向社群的协作式写作,同时也包括一组支持这种写作的辅助工具。有人认为,Wiki系统属於一种人类知识的网路系统,我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且这种创建、更改、及发布的代价远比HTML文本小;与此同时Wiki系统还支持那些面向社群的协作式写作,为协作式写作提供了必要的帮助;最后,Wiki的写作者自然构成了一个社群,Wiki系统为这个社群提供了简单的交流工具。与其它超文本系统相比,Wiki有使用简便且开放的优点,所以Wiki系统可以帮助我们在一个社群内共用某个领域的知识。
Wiki起源
1995年沃德?坎宁安(Ward Cunningham)为了方便模式社群的交流创建了全世界第一个wiki系统-WikiWikiWeb,并用它建立了波特兰模式知识库(Portland Pattern Repository)。在建立这个系统的过程中,沃德?坎宁安创造了Wiki的概念和名称,并且实现了支持这些概念的服务系统。这个系统是最早的Wiki系统。从1996年至2000年间,波特兰模式知识库围绕著面向社群的协作式写作,不断发展出一些支持这种写作的辅助工具,从而使Wiki的概念不断得到丰富。同时Wiki的概念也得到了传播,出现了许多类似的网站和软体系统。
Wiki的历史不长,无论是Wiki概念本身,还是相关软体系统的特性,都还在热烈的讨论中;所以怎样的一个站点才能称得上是一个Wiki系统还是有争议的。与Wiki相关新近出现的技术还有blog,它们都降低了超文本写作和发布的难度。这两者都是同内容管理系统密切相关的。
Wiki的特点
使用方便
维护快捷:快速创建、存取、更改超文本页面(这也是为什麼叫作 "wiki wiki" 的原因)。
格式简单:用简单的格式标记来取代 HTML 的复杂格式标记。(类似所见即所得的风格)
链接方便:通过简单标记,直接以关键字名来建立链接(页面、外部连接、图像等)。
命名平易:关键字名就是页面名称,并且被置於一个单层、平直的名空间中。
可增长
可增长:页面的链接目标可以尚未存在,通过点击链接,我们可以创建这些页面,从而使系统得以增长。
修订历史:记录页面的修订历史,页面的各个版本都可以被获取。
开放性
开放的:社群内的成员可以任意创建、修改、或删除页面。
可观察:系统内页面的变动可以被来访者清楚观察得到。
由於Wiki的自组织,可增长以及可观察的特点,使Wiki本身也成为一个网路研究的对象。对Wiki的研究也许能够让人们对网路的认识更加深入
理论和技术:
1、 六度关系理论
目前流行的“六度分隔”理论是20世纪60年代由美国的心理学家米格兰姆(Stanley Milgram)提出的,这个理论可以通俗地阐述为: 最多通过六个人你就能够认识任何一个陌生人。“六度分隔”成为人际关系世界中无可否认而又令人震惊的特征,许多社会学上的深入研究也给出令人信服的证据,说明这一特征不只是特例,在一般情形下也存在。 最近,美国哥伦比亚大学社会学系的瓦茨教授领导的EMAIL试验也再次证明了这一人际关系世界中惊人的规律。然而,在现实世界中,六十亿人怎么可能真的构成如此紧密的相互关联呢?是互联网使一切成为现实。
2、 Xml
XML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。
3、 AJAX
Ajax并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。Ajax混合了:
* 基于XHTML/CSS
* 由DOM(Document Object Model)实现动态显示与交互
* 通过XML和XSLT进行数据交换及处理
* 使用JavaScript整合上述技术
直观一点的说Ajax能够实现不刷新浏览器窗口(当然更不用安装额外的插件)而满足用户的操作,现在一些看上去很Cool的网站,很多是用这项技术实现的,其中包括:orkut、Gmail、Google Group、Google Suggest、Google Maps、Flickr、A9.com等。2SIMPLE的Co-mment系统虽然没有用到XML/XSLT,其理念已经暗合容Ajax,实现了不刷新网页提供动态内给用户。
现有的产品:
Wiki百科、Wallop 、yahoo360 、openbc 、 cyworld 、43things 、 flickr、 del.icio.us、 cragslist 、glob 、客齐集、 friendster 、 linkin 、UU通 、 优友 、 天际网 、爱米网 、linkist 、新浪点点通、skype、亿友、cyworld
现在说说web2.0的具体应用。
历史很重要。对一个技术的学习也应当从历史出发,通过其在时间形成历史的流变,得以知晓现状,甚至能够预知未来。
那Web 1.0是什么呢?
他们说,记得静态HTML的WWW时代么?
(那个时代的WWW应用、人们的Web体验、对社会的影响如何?)
那么动态HTML和静态HTML下的Web相比,是多少版本?1.5?对了,他们是真这么叫的。
(在效果和影响上,与1.0相比,扩展和加深多少?)
要呈现的数据存储在数据库中,通过Web服务端的程序,应用户的请求,取出数据,加上事先设计的模板,动态的生成Html代码,发送到用户的浏览器那里。
他是1.0系列,应为用户在浏览器中所见和Web 1.0一样,它有0.5的升级,因为数据不是事先制作并发布,而是动态生成,和用户的需要交互生成。
那好,在加0.5,到Web 2.0,变化是在哪里呢?
(看到了正在崛起的和改变的,会继续朝着什么方向改变互联网和社会呢?)
更新:关于各个版本的差别,看看亚马逊的例子。
事情没有那么幸运,Web 2.0并不是一个具体的事物,而是一个阶段,是促成这个阶段的各种技术和相关的产品服务的一个称呼。所以,我们无法说,Web 2.0是什么,但是可以说,那些是Web 2.0。
WikiPedia的Web 2.0条目下列出了这些条件:
* CSS 和语义相关的 XHTML 标记
* AJAX 技术
* Syndication of data in RSS/ATOM
* Aggregation of RSS/ATOM data
* 简洁而有意义的 URLs
* 支持发布为 weblog
* RESTian (preferred) 或者 XML Webservice APIs
* 一些社会性网络元素
必须具备的要素有:
* 网站应该能够让用户把数据在网站系统内外倒腾。
* 用户在网站系统内拥有自己的数据
* 完全基于Web,所有的功能都能透过浏览器完成。
(以上内容引用自英文版维基百科)
虽然这只是一家之言,不过,对于其中谈到的几个要素,大家还是公认的。
- 基于RSS/ATOM/RDF/FOAF等XML数据的同步、聚合和迁移。
数据不再和页面和网站混粘在一起,它独立了,它跟着用户走。这是Web 2.0的很重要特征。这也是为什么Blog是Web 2.0的代表的原因。在网志上,常主角的是相互独立的一则则的网志。
独立,然后有物理表现。现在,就能让他们活跃起来。透过对XML数据的处理,这些内容能被自由的组合,被各种应用程序,不论是Web程序还是桌面程序等呈现和处理。
(更新:参看商业周刊的All Your Info in One Place)
当然,最重要的是背后的人。
- 社会性因素。
内容跟着人走,内容又能够被用户自由的组合,也就是说,用户能够自由的借助内容媒介,创建起一个个的社群,发生各种社会性的(网络)行为。
此外还有标签以及建立在开放标签系统之上的Folksonomy。
- 第三个公认的因素是开放API,这个技术性稍强些,得另花时间研习,可以先看看例子:amazon、flickr、google map等。
(Web 2.0是个大筐,装了好多东西)
从Web应用的产品/服务生产者角度来说,该如何创建Web 2.0的产品呢?
重要的是要抓住这么几点,一个是微内容(这里有定义),一个是用户个体。除了这两个最基本的之外,还可以考虑社群内的分享以及提供API。
微内容:英文是microcontent。用户所生产的任何数据都算是微内容,比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要去的地方、新的朋友等等。这些微内容,充斥着我们的生活、工作和学习,它的数量、重要性,还有我们对它的依赖,并不亚于那些道貌岸然、西装革履的正统文章、论文、书籍。
对微内容的重新发现和利用,是互联网所开创的平等、***、自由风气的自然衍生,也是互联网相关技术消减信息管理成本之后的一个成果。
我们每天都生产众多的微内容,也消费着同样多的微内容。对于Web 2.0来说,如何帮助用户管理、维护、存储、分享、转移微内容,就成了关键。
用户个体。对于Web 1.0的典型产品/服务来说,用户没有具体的面貌、个性,它只是一个模糊的群体的代名词而已。但是对于Web2.0的产品和服务来说,用户是个实实在在的人。Web 2.0所服务的,是具体的人,而不是一个如同幽灵般的概念。并且,这个人的具体性,会因为服务本身而不断地充实起来。
如何为这个具体的个体服务,是Web 2.0设计的起点。
因此,一类可以被称作Web 2.0的产品/服务将是这样:
服务于用户个体的微内容的收集、创建、发布、管理、分享、合作、维护等的平台。
这是表。
里呢,恐怕就设计到好些人提到的,微内容的XML表现;微内容的聚合;微内容的迁移;社会性关系的维护;界面的易用性等等。
其质,是否就是开源、参与、个人价值、草根、合作等等?
Web2.0是许多方面起头并进又相互牵连的一个新的阶段的到来。因此,不同的人,有着不同的看法。那么,对于Web开发人员来说,Web2.0意味着什么呢?
他们说Web2.0阶段,Web是一个平台,或者说,Web正在变得可编程,可以执行的Web应用。野心家们设想这个它的终极目标是Web OS。
Web 1.0时候,Web只是一个针对人的阅读的发布平台,Web由一个个的超文本链接而成。现在的趋势发生了变化,Web不仅仅是Html文档的天下,它成了交互的场所。
Web 2.0 Conference网站的横幅引用Jeff Bezos的话说“Web 1.0 is making the internet for people,web 2.0 is making the internet better for computers”。
具体来讲,他们说Web成为一个开发环境,借助Web服务提供的编程接口,网站成了软件构件。
这些,就是Web Service的目标吧,信息孤岛通过这些Web Service的对话,能够被自由构建成适合不同应用的建筑来。
一些例子:del.icio.us、flickr、a9、amazon、yahoo、google、msn等提供的编程接口衍生出的各种应用。
为什么要开放APIs,这涉及到集市中的商业方面的技术策略。当然,还有更深层的原因,那是什么呢?
这种交互不仅体现在不同的网站服务之间,同时还体现在用户和Web之间在浏览器上的交互。这也是为什么在美味书签的收藏中Web2.0和AJAX如此相关的一个原因。
在Web页面上使用桌面程序有的那些便利,真的是很享受的事情。这恐怕也是Web可编程的一个方面,Web页面不再是标记和内容混合那样的简单,它就是一个可以编程的地方(是这样理解吧?)
有人反对说,AJAX的使用对搜索引擎不友好,只有Web 1.0的站长才关心这个事情吧,在Web 2.0时候,站长应该关心的是用户参与的便利、用户的自由度,至于搜索,有RSS/ATOM/RDF等,更本用不着操心,Google不是已经顺应这个趋势,让大家主动提交了么?
可编程的第三个方面,是否在于Web应用和桌面应用之间的无缝连接趋势的出现?类似这里说的“从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展”
......
自己不是专业开发人员,对Web OS的学习就点到为止,下次换个方向,否则我非头大不可。
---------------------
cathayan和Live21说Web 2.0其实思路很古老,就是internet 1.0的回归。
Live21那里提到“关于概念的炒做应该不是一次两次的问题了”。
提到概念炒作,我还真见到过,今天在一篇报道中看到作为WEB 2.0的BSP的字眼,好笑得很。
不过,我真想说明,在目前中文Blog空间内能查阅到的学习、探讨Web 2.0的资料都不是炒作,因为包括我在内,大家都没有任何商业背景(注意,新闻报道中的那些Web 2.0除外)。
[Web 2.0是个历史学的概念,而非是个技术性的概念,它是对Web发展历史断代的成果。对这个概念的梳理,能帮助我更好的把握互联网正在发生的技术与文化。]
中文网志圈谈论的Web 2.0内容摘要:
- “我觉得最有价值的一个是, web应用的数据格式开始逐渐出现了交换“标准”...这些标准...更加容易被机器自动化处理...能帮助人更好地过滤和定制化信息。其次,更多的服务将以web service的形式来提供,...这使得web 服务可以被互相集成, 从而诞生更多新的服务...人的重要性被提高了。过去web更多注重在信息提供, 而现在的越来越多的应用更加关注人,也就是所谓“社会性”。此外web的可用性改进正在被越来越重视...”[老冒:朝web 2.0泼点冷水]
- “RSS逐渐成为在线内容提供服务的标准发行平台。Blog以及user-generated内容的兴起。My Yahoo提供的RSS整合型服务。同时提出了值得密切关注的一些发展中领域,其中包括搜索技术,个性化,User-Generated内容(包括 blog,评论,图像和声音),音乐,短视频和Accessibility(易访问性)”[Owen:Mary Meeker新作 - 关于Digital World的发展报告的摘取]
- “我们谈论的Web2.0带给我们的是一种可读写的网络,这种可读写的网络表现于用户是一种双通道的交流模式,也就是说网页与用户之间的互动关系由传统的“Push”模式演变成双向交流的“Two- Way Communication”的模式。而对于Web服务的开发者来说,Web2.0带来的理念是服务的亲和力,可操作性,用户体验以及可用性。”[Owen:BaCKpACK-体验可读写的Web服务]
- “web 2.0是一种可以被分发的信息概述,web文档被格式化成了web数据。我们不会再看到不同旧地信息,现在我们所注意到是一种聚合、再混合内容的工具。”[songzhen:也说Web 2.0的翻译]
- “从这些应用中可以看到:如果基于传统的HTML,同样的功能实现将变得非常复杂和不稳定,数据的再生产和交换成本是很高的。所以:RSS这个标准最终要的贡献就是使得互联网的大部分网站变得可编程:类似的例子还有Blog中的:TrackBack Ping等机制,这些机制都是依赖XML/RPC实现的。当初为Lucene设计一个RSS/XML的接口也是为了这个初衷,它使得全文检索服务可以轻松的嵌入到各种应用中,通过关键词将各种内容之间实现更丰富的关联(Well Referenced)。”[车东:RSS,简单协议使得互联网可编程]
- “聚合的可能性以及如何更好地聚合(通常来说,更好的聚合应该基于个人知识管理和人际关系管理)很显然应该成为新一代或者说web2.0架构的核心之一。还有,你会重新发现,恰好是分散带动了聚合,聚合促进了分散,通过聚合的思维,互联网的网络状变得越来越丰富和密集,web2.0就变得越来越有趣味,它将web1.0时代的硕大节点即门户网站不断消解,去努力创造一个更加和谐的自然网络图谱。”[Horse:rss,聚合的无数可能]
- “新的web2.0网站都依赖于用户参与、用户主导、用户建设”。[Horse:Web 2.0这个词]
- Keso:Web 1.0与Web 2.0的区别
- “表面上看,Bloglines取代了门户,成为一个新的中心,但这里有一个重大的区别。门户是只读的,它带有某种锁定的性质。你可以离开门户,但你无法带走门户的内容。Bloglines则完全不同,你觉得它好用,就会继续使用,有一天你不再喜欢Bloglines,你完全可以导出你的OPML,到另一个 RSS订阅网站,或者干脆用客户端软件浏览同样的内容。所以,像Bloglines这样的网站,是可写的,你可以导入,也可以导出。就像你对信息拥有选择权,对服务提供商也同样拥有选择权,没有人可以锁定你,主动权在你自己手上。”[Keso:再说信息选择权]
- “Flickr、del.icio.us、Bloglines等Web 2.0服务,通过开放API获得了很多有趣、有用的想法,并借助外部的力量,让用户获得了更好的体验。更多大公司也加入到开放API的潮流中,Google、Yahoo!、Amazon、Skype。Google桌面搜索今年3月才开放API,很快就产生了大量的创造,大大扩充了可搜索的文件格式。”[Keso:开放API]
- “归纳:web1.0天天谈门户,web2.0谈个人化;web1.0谈内容,web2.0谈应用;web1.0商业模式,web2.0谈服务;web1.0谈密闭、大而全,web2.0大家谈开放、谈联合;web1.0网站中心化,web2.0谈个人中心化;web1.0一对一,web2.0谈社会性网络;web1.0不知道你是狗,web2.0你去年夏天干了什么我一清二楚甚至想要干什么呢。。。”[van_wuchanghua:发现了N.HOOLYWOOD,我还知道你今年夏天要干什么]
- “我认为Web2.0有下面几个方面的特性: 个性化的传播方式. 读与写并存的表达方式. 社会化的联合方式.标准化的创作方式. 便捷化的体验方式. 高密度的媒体方式.”[飞戈:Web2.0与未来的网络]
- “用RAILS写的网站带有典型的读写网络的特征:RAILS创建的三个架构中的ACTIVE RECORD这个模块中,如果你读读它最重要的基类 ActiveRecord::Base,你会发现有CREAT,EDIT,SAVE,DESTROY这些方法已经天然包含在内了,这让实现一个数据库的CRUDS行为变得如此简单。由于这些类的方法直接和网页的名称映射到一起,这使得网页本身就像一个可以编缉的数据库的数据项。”[Blogdriver:RUBY ON RAILS,wEB2.0世界新生的创造力]
- “Greasemonkey一定名列前茅。这个通过User Script就能修改任何网页输出效果的插件极大的提高了用户阅读的自主性,一推出就引起了轰动,同时也引来了不少争议。”[Webleon:platypus,完全可写的互联网]
- “Web1.0到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展;从基本构成单元上,是由“网页”向“发表/记录的信息”发展;从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展;运行机制上,由“Client Server”向“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。 ”
Blog:个人媒体崛起
在Web 2.0 的世界中,Blog(中文翻译作“网志”、“博客”)绝对是个“招牌菜”,它已获得了广泛的知名度。
让Discuz3.2用户数据同步第三方api接口怎么做
第一步:在网站根文件夹建立“1.php”文件,写入以下数据:
<?php
define('CHARSET', 'GBK'); //服务器端数据编码
require './source/class/class_xml.php'; //XML格式的文档和array的相互转换的类
error_reporting(7);
$charset = $_GET['charset'] ? $_GET['charset'] : $_POST['charset']; //客户端数据编码
//数据转码
if(strtoupper($charset) != CHARSET) {
foreach($POST as $key = $value) {
$POST[$key] = iconv($charset, CHARSET, $value);
}
foreach($GET as $key = $value) {
$GET[$key] = iconv($charset, CHARSET, $value);
}
}
$data = array('html'='', 'data'=''); //初始化要返回数据
$sign = $_GET['sign'] ? $_GET['sign'] : $_POST['sign']; //获取客户端请求数据的签名
$clientid = $_GET['clientid'] ? $_GET['clientid'] : $_POST['clientid']; //客户端ID
$client = get_client_by_clientid($clientid); //得到客户端的相关信息
if(empty($client)) { //客户端不存在
exit('CLIENT_NOT_EXISTS'); //直接返回失败
}
$datasign = ''; //数据签名
if(!empty($_POST)) {
unset($_POST['sign']); //删除签名参数,此参数不参加签名计算
$datasign = get_sign($_POST, $client['key']); //计算数据的签名
} else {
unset($_GET['sign']); //删除签名参数,此参数不参加签名计算
$datasign = get_sign($_GET, $client['key']); //计算数据的签名
}
if($datasign != $sign) { //签名不正确
exit('SIGN_ERROR'); //输入签名错误
}
if($_POST['op'] == 'getdata') { //判断是否为请求数据列表
$datalist = $data = array();//数据列表
$wherearr = array(); //SQL 条件数组
//获取客户端POST参数
$start = intval($_POST['start']); //起始数据行数
$limit = intval($_POST['items']); //要显示多少条数
$bannedids = addslashes($_POST['bannedids']); //客户端屏蔽的IDS
$param1 = addslashes($_POST['param1']); //数据调用参数1,假设此值要求为string型
$param2 = intval($_POST['param2']); //数据调用参数2,假设此值要求为int型
//处理参数1
if(!empty($param1)){
$wherearr[] = "fieldsparam1='$param1'";
}
//处理参数2
if(!empty($param2)) {
$wherearr[] = "fieldsparam2='$param2'";
}
//处理客户端屏蔽的IDS
if(!empty($bannedids)) {
$banids = explode(',', $bannedids);
$wherearr[] = "csid NOT IN (".implode("','", $banids)."')";
}
$where = !empty($wherearr) ? 'WHERE '.implode(' AND ', $wherearr) : ''; //构造条件
/*数据库相关处理
$query = DB::query('SELECT * FROM '.DB::table('tablename')." $where LIMIT $start, $limit"); //SQL查询
while($value = DB::fetch($query)) {
//此处为数据处理逻辑代码
$data[] = $value;
}
*/
//以下为临时测试数据,正式环境请根据自己的业务做相关调整
$url = 'http://www.xxx.com/';
$data = range($start, $start + $limit);//构造临时的假数据
foreach($data as $value) {
//需要注意: 除 id, title, url, pic, picflag, summary 几个字段外,其它字段需要放到 fields 数组里。
$datalist[] = array(
'id' = $value,
'title' = 'xml_block_title'.$value, //标题
'url' = $url.'xml_server.php?csid='.$value, //链接地址
'pic' = $url.'/data/attachment/photo.gif', //图片地址
'picflag' = '0', //0为url 1为本地 2 为ftp远程;如果图片是DX系统中的图片可以情况设置为1或2,其它情况为0
'summary' = '', //简介
'fields' = array( //配置规范中fields中指定的字段
'author' = 'xml_user'.$value,
'authorid' = $value,
'field1' = 'field1value'.$value,
'field2' = 'field2value'.$value
)
);
}
$data['data'] = $datalist;
//如果要返回HTML代码,可直接使用以下代码
//$data['html'] = 'HTML CODE';
$xml = array2xml($data); //转换为XML文档
} else if($_GET['op'] == 'getconfig') {
$xml = file_get_contents('block_xml_sample.xml');//block_xml_sample.xml文件中的内容为 配置规范XML文档示例 的内容
} else {
$xml = 'NO_OPERATION';
}
ob_end_clean();
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
header("Content-type: text/xml");
echo $xml;
exit();
/**
* 获得客户端信息
* @param $clientid
* @return array 客户端信息数组
*/
function get_client_by_clientid($clientid){
$client = array();
$clientid = intval($clientid);
if($clientid) {
/*数据库相关处理
$client = DB::fetch_first('SELECT * FROM '.DB::table('clienttable')." clientid='$clientid'"); //SQL查询
*/
//以下为临时测试数据,正式环境请根据自己的业务做相关调整
//模拟数据库
$CLIENTSDB = array(
'100000' = array(
'clientid' = '100000',
'key' = '*654%#(asd94',
),
'200000' = array(
'clientid' = '200000',
'key' = '1#9!(@@34#94',
),
'300000' = array(
'clientid' = '300000',
'key' = '7$@^8^$7as89',
),
'400000' = array(
'clientid' = '400000',
'key' = '23@#86^%432',
),
);
$client = isset($CLIENTSDB[$clientid]) ? $CLIENTSDB[$clientid] : array();
}
return $client;
}
/**
* 生成签名
* @param array $para 参数数组
* @param string $key 加密密钥
* @return string 签名
*/
function get_sign($para, $key = ''){
ksort($para);
$signarr = array();
foreach($para as $k = $v) {
$signarr[] = $k.'='.$v;
}
$sign = implode('', $signarr);
$sign = md5($sign.$key);
return $sign;
}
?
注意:不是网站记录的URL来调试的时候,会出现“Access Denied”,那是网站防止文件外部打开的标志,进入“./source/class/class_xml.php”暂时关闭开头的二行:
if(!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) {
exit('Access Denied');}
特别注意:99行时候的“$xml = file_get_contents('block_xml_sample.xml');//block_xml_sample.xml文件中的内容为 配置规范XML文档示例 的内容”;就是这个文件造成很多人安装第三方插件不成功的。这个文件改名称的同时记得要修改1.php的99行;
特别注意文件block_xml_sample.xml中的“<item id="name"<![CDATA[C/S 数据类]]</item”中间的“C/S 数据类”就是模块名称;有的时候如“<item id="version"<![CDATA[X1.5]]</item”版本号不对也会报错;修改为网站的版本即可。
第二步:建立“block_xml_sample.xml”文件,写入如下数据:
<?xml version="1.0" encoding="ISO-8859-1"?
<root
<item id="Title"<![CDATA[Discuz! Block]]</item
<item id="Data"
<item id="version"<![CDATA[X1.5]]</item
<item id="name"<![CDATA[C/S 数据类]]</item
<item id="fields"
<item id="url"
<item id="name"<![CDATA[链接地址]]</item
<item id="formtype"<![CDATA[text]]</item
<item id="datatype"<![CDATA[string]]</item
</item
<item id="title"
<item id="name"<![CDATA[标题]]</item
<item id="formtype"<![CDATA[title]]</item
<item id="datatype"<![CDATA[title]]</item
</item
<item id="pic"
<item id="name"<![CDATA[图片]]</item
<item id="formtype"<![CDATA[pic]]</item
<item id="datatype"<![CDATA[pic]]</item
</item
<item id="summary"
<item id="name"<![CDATA[简介]]</item
<item id="formtype"<![CDATA[summary]]</item
<item id="datatype"<![CDATA[summary]]</item
</item
<item id="author"
<item id="name"<![CDATA[作者]]</item
<item id="formtype"<![CDATA[text]]</item
<item id="datatype"<![CDATA[text]]</item
</item
<item id="authorid"
<item id="name"<![CDATA[作者ID]]</item
<item id="formtype"<![CDATA[text]]</item
<item id="datatype"<![CDATA[int]]</item
</item
<item id="field1"
<item id="name"<![CDATA[字段1]]</item
<item id="formtype"<![CDATA[text]]</item
<item id="datatype"<![CDATA[string]]</item
</item
<item id="field2"
<item id="name"<![CDATA[字段2]]</item
<item id="formtype"<![CDATA[text]]</item
<item id="datatype"<![CDATA[string]]</item
</item
</item
<item id="getsetting"
<item id="param1"
<item id="title"<![CDATA[数据调用参数1]]</item
<item id="type"<![CDATA[text]]</item
<item id="default"<![CDATA[]]</item
</item
<item id="param2"
<item id="title"<![CDATA[数据调用参数2]]</item
<item id="type"<![CDATA[mcheckbox]]</item
<item id="value"
<item id="0"
<item id="0"<![CDATA[1]]</item
<item id="1"<![CDATA[选项1]]</item
</item
<item id="1"
<item id="0"<![CDATA[2]]</item
<item id="1"<![CDATA[选项2]]</item
</item
</item
<item id="default"<![CDATA[1]]</item
</item
<item id="titlelength"
<item id="title"<![CDATA[标题长度]]</item
<item id="type"<![CDATA[text]]</item
<item id="default"<![CDATA[40]]</item
</item
<item id="summarylength"
<item id="title"<![CDATA[简介长度]]</item
<item id="type"<![CDATA[text]]</item
<item id="default"<![CDATA[80]]</item
</item
<item id="start"
<item id="title"<![CDATA[起始数据行数]]</item
<item id="type"<![CDATA[text]]</item
<item id="default"<![CDATA[0]]</item
</item
</item
<item id="style"
<item id="0"
<item id="name"<![CDATA[模板名称]]</item
<item id="template"<![CDATA[<div class="module cl xl xl1"<ul[loop]<li<em<a href="home.php?uid={authorid}"<FONT COLOR="RED"{author}</FONT</a</em<a href="{url}"{title}</a</li[/loop]</ul</div]]</item
</item
<item id="1"
<item id="name"<![CDATA[模板名称红色]]</item
<item id="template"<![CDATA[<div class="module cl xl xl1"<ul[loop]<li<em<font color="red"<a href="home.php?uid={authorid}"{author}</a</font</em<a href="{url}"{title}</a</li[/loop]</ul</div]]</item
</item
</item
</item
</root
第三步:建立第三方模块
管理平台 》 门户 》 第三方模块 》 添加:
第三方地址:url/1.php
客户短ID:200000 见1.php的133行
签名加密方式:MD5签名
通信密匙:1#9!(@@34#94
点击提交,完成模块建立工作。
第四步:前台页面调用:
DIY网页 》 DIY 》 高级模式 》 模块 》 第三方类
是不是看到刚刚建立的模块了。
选择调用即可。
第五步:扩展读取任一(包括外部)网页HTML代码数据,新建一个网页“ee.htm”,数据规范如下:
<?xml version="1.0" encoding="ISO-8859-1"?
<root
<item id="html"<![CDATA[]]</item
<item id="data"
<item id="0"
<item id="id"<![CDATA[14]]</item
<item id="title"<![CDATA[xml_block_title14]]</item
<item id="url"<![CDATA[xml_server.php]]</item
<item id="pic"<![CDATA[nophoto.gif]]</item
<item id="picflag"<![CDATA[1]]</item
<item id="summary"<![CDATA[]]</item
<item id="fields"
<item id="author"<![CDATA[xml_user14]]</item
<item id="authorid"<![CDATA[14]]</item
<item id="field1"<![CDATA[field1value14]]</item
<item id="field2"<![CDATA[field2value14]]</item
</item
</item
<item id="1"
<item id="id"<![CDATA[15]]</item
<item id="title"<![CDATA[xml_block_title15]]</item
<item id="url"<![CDATA[xml_server.php]]</item
<item id="pic"<![CDATA[nophoto.gif]]</item
<item id="picflag"<![CDATA[1]]</item
<item id="summary"<![CDATA[]]</item
<item id="fields"
<item id="author"<![CDATA[xml_user15]]</item
<item id="authorid"<![CDATA[15]]</item
<item id="field1"<![CDATA[field1value15]]</item
<item id="field2"<![CDATA[field2value15]]</item
</item
</item
</item
</root
第六步:读取外部网页(ee.htm)时1.PHP的代码:
适合格式固化的网页使用,安全则自己去加上。
<?php
define('CHARSET', 'GBK'); //服务器端数据编码
if($_POST['op'] == 'getdata') { //判断是否为请求数据列表
$xml = file_get_contents('ee.htm');//读取网页数据 如下传递参数另..
} else if($_GET['op'] == 'getconfig') {
$xml = file_get_contents('block_xml_sample.xml'); //安装时候需要调用的网页;为配置规范XML文档示例
} else {
$xml = 'NO_OPERATION';
}
ob_end_clean();
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
header("Content-type: text/xml");
echo $xml;
exit();
?
以上的步骤就解决了DZ可以与任一网站数据共享的问题
什么是微门户?
微门户是以现有门户网站为基础,整合各种最新资讯和网站微博的一种移动互联应用。拥有个性化资源订阅、社区化微博、精确全文云检索、原文查看、文章分享等功能,智能聚合原有门户网站的信息资源,支持各种移动平台终端和浏览器的访问。使门户网站的访问不再局限于在电脑面前,更加符合现代人的浏览习惯,实现对各门户网站的随时、随地、随身访问。
便捷的访问模式
用户通过安卓市场、苹果商店及各种3G应用平台直接下载微门户客户端,建立对各门户网站资源的快捷访问通道,无需输入网址,使用便捷。
个性化资源订阅
微门户拥有海量信息资源,提供个性化资源订阅服务,用户根据自己需要进行选取订阅、自由排版,以构建属于自己的个性化微门户。
社区化微博互动
微门户无缝连接原网站官方微博,用户通过微博绑定服务,与官方微博实现互动交流。也可以将微门户的信息直接推送分享到自己的微博上,使信息在更广的空间被传播、宣传和推广。
精确全文云检索
微门户集成了全文检索引擎,对于庞大的门户网站的资源信息进行自动提取关键词、摘要、分类和索引,对现有网站的全部资源内容进行全文检索,方便用户快速定位自已所需服务信息。
卓越的阅读体验
微门户以触摸屏形式进行展现,支持离线阅读。通过简单的滑动,实现信息的全文阅读、卷屏翻页和上下篇切换。系统同时提供信息收藏服务,经收藏的资源将集中收录至收藏夹内,供用户后期访问使用。
多种移动终端访问
微门户的系统开发支持IOS、Android、Microsoft Windows Phone、Symbian等各类手持终端平台。同时,系统还支持3G门户的构建,支持各类主流浏览器访问。
2关键技术编辑
海量信息聚合技术
采用多线程海量信息聚合技术,自动采集和聚合门户网站上指定的各栏目信息和内容,使其按照手机和手持终端的栏目规划进行内容展现。
目标资源WEB清洗技术
采用自然语言处理和信息提取算法,通过预处理操作,自动清洗掉包括广告、无关链接、多余图片等冗余信息,自动抽取实际目标中正文结构,增加信息的可读性。
海量数据处理平台的云计算技术
采用分布式云计算技术,实现微门户平台对大并发量移动终端用户对资源的随时随地快捷访问机制,使整个集群的网络带宽被高效利用。
基于云部署的服务器分布式存储技术
通过基于云部署的分布式存储技术,实现微门户平台的高效存储,统筹管理各种资源,满足平台后期日益增长的信息服务的需求。
CDN技术
CDN技术使内容传输的更快、更稳定,在现有的互联网基础上构建的一层智能虚拟网络,使用户就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
个性化资源订阅技术
对丰富的网站资源,提供个性化资源的订阅选择,构建属于公众自己的个性化移动互联门户。
手机终端的全文检索技术
实现手机终端对门户网站内容资源的全文检索,并面向手机和手持终端用户展现。
与微博、人人网等SNS无缝整合技术
无缝连接API接口,实现微门户与SNS社区无缝整合,与公众进行互动交流。
3如何快速构建微门户编辑
通过微门户云服务平台,实现对原有门户网站的数据接驳,可以方便地实现原有门户网站数据与微门户数据同步。该平台架构采用云计算和云存储技术,在现有门户网站基础之上,利用互联网信息聚合技术,聚合门户网站里相关栏目的信息,同步到微门户信息管理平台,并可实现在微门户管理平台里的信息维护和发布。
分别提供针对Android、IPHONE、IPAD等不同操作系统手机和手持终端的微门户客户端,同时完成对安卓市场、Apple苹果商店等的应用申请和推广,公众则可以通过各种移动互联和3G应用平台、苹果商店里下载到相应的客户端。
4不同于WAP门户编辑
发展方向
微门户是一种APP应用,随着智能手机和终端的兴起,WAP门户逐渐被APP应用所取代,用户希望通过更加快捷的方式访问和浏览信息, APP应用符合这一特性,并且随着用户对功能需求的不断提升,传统WAP已经很难满足用户的浏览需求,无法真正实现个性化订阅和离线阅读等APP应用特点。
维护管理
WAP门户需要对现有网站做接口开发或通过内容管理系统发布程序,才能实现数据同步,对原有系统安全有隐患(如系统压力、网络安全、服务器性能等),而微门户在不对门户网站做任何改动的基础上,通过数据聚合技术在云端实现互联网网站群的内容格式转换,并存储至云端进行数据管理,对原门户网站不构成任何影响。
个性化门户
WAP门户只支持主动发布,用户只能根据发布的内容被动进行浏览,使得WAP门户网站的体验性很差,用户使用的频度自然很少,而微门户可根据用户自己的需要对资源随性进行订阅和排序,打造专属于自己的个性化微门户。
平台技术
WAP门户基于传统的WAP技术(XML),对网络环境有要求,必须在有网状态下访问,否则无法正常使用,类似于传统网页浏览。微门户是手机APP应用,不是网页应用,基于CDN技术实现全国联通、电信、移动全网快速覆盖,同时支持无网阅读(即离线阅读),使得浏览信息打破传统模式,随时随地都可快速访问。
访问便捷性
传统WAP门户每次需要输入访问地址,或者借助于WAP浏览器或嵌套到应用中使用,无论哪种都受到网络速度的限制,同时在展现形式上还是基于传统页面浏览方式。微门户安装一次客户端,以后都可以直接通过客户端访问,客户端支持预加载提升浏览品质,是智能手机和终端的主流访问模式,它更贴合于硬件及操作系统,通过多种滑动、点击、长按等操作完成浏览,使得阅读更加富有趣味性。
费用问题
使用WAP门户一旦网络中断将无法访问,给访问者的流量费带来了负担。微门户从技术上解决了必须依赖网络的特性,通过离线模式也能够获取信息和服务,用户可以在出门前从办公室或家中的WIFI网络中提前下载出门后所需要查阅的信息和服务内容,为路途中的信息浏览节约了很多流量费用。
绑定官博
由于WAP的浏览模式和网络制约,WAP网门户绑定官博只能对信息进行在线浏览,同时不支持官博的分享和互动,而微门户因基于APP应用模式开发,对官方微博的展现和使用来讲却恰到好处,完美的将微博的及时性体现出来,由于它不受浏览模式和网络制约,在使用上更加贴合于微博访问模式。
5数字校园微门户编辑
校园微门户是移动端校园信息化综合解决方案。它是高校教育信息化发展到如今的必然产物,结合当下高速发展的移动互联网技术,以“轻量便携,精准服务”为自身特点,能够实现基于学校用户角色的功能服务整合,有效的将学校分散的服务资源进行集中管理。微门户实现了传统PC端信息化服务向移动端的转变,用户能够通过手机、平板等移动设备,利用完善的3G/4G网络、无线网络等即可访问和使用学校各项信息化服务功能,而且通过微门户的智能推送、集中管理等功能特点,不仅能够提高校园服务信息化的质量,而且也能够给用户带来高效的碎片化时间管理,比现今流行的数字校园信息门户将更为便捷、高效及重要。校园微门户主要包括消息中心(LYMS)、即时通讯(LYIM)、移动平台(LYMP)以及应用整合四个部分,具有相当的开放性、方便性、友好性,也能够实现沟通的即时性以及用户的高粘合性。
数字校园微门户组成
(1)消息中心(LYMS)
消息中心平台核心业务将覆盖校园主要协同应用及服务,把数字校园里面的消息都通过该平台发送出去,解决数字校园里面消息发送混乱的现象,以便师生在任何需要的时间和场合,方便、高效、迅速地获取和处理业务信息,统一应用系统消息的发送渠道,统一管理,统一监控,统一用户对消息历史的管理,同时能够实现真正的“移动校园”教学与办公。 同时,消息中心平台可以对消息进行统计,可以查看消息的总体趋势和分布,可以对消息进行安全审计,过滤敏感词语,保证校园流通的消息合符国家的法律法规及其安全可靠性。消息的接收端包括手机短信、电子邮件以及PC客户端。消息中心平台的发送渠道可以通过手机短信、电子邮件、移动校园平台、即时通讯、微信公众平台、新浪微博等终端进行接收与传阅。
(2)即时通讯(LYIM)
校园即时通信系统(校园IM)的建设是校内个性化信息推送途径的有效补充和整合,以此系统为基础,进行系统整合、扩展应用,可以丰富数字校园的用户体验,有效统一学校的数字化资源入口,为学生、老师之间的交流和沟通提供一条快捷的通道,打造一个稳定,安全,高效,可扩展的校园“微门户”。
(3)移动平台(LYMP)
移动平台全称移动校园应用平台,能够无缝接入数字校园统一身份认证平台及大数据中心,实现统一认证及数据交换。它将承载着学校传统数字化校园的应用,实现通过主流移动终端操作系统(iOS、Andriod等)获取信息化校园相关信息、个人信息及完成主要业务操作。其所包括的移动应用绝不仅是业务应用的简单移动终端移植,而且所集成的功能模块都是独立,可以很好的模块化管理和扩展。
(4)应用整合
应用整合在于将学校的办公、教学、科研、管理等应用服务进行认证整合、数据整合以及消息整合,使其全部都能够有效顺畅地围绕着“微门户”进行扩展,能够在保护学校已有资源的前提下,实现校园信息化建设的持续发展。
关于门户网站新闻api接口和新闻资讯api接口的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
门户网站新闻api接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于新闻资讯api接口、门户网站新闻api接口的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~