当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

4.13Zend_Http实现引用通告功能

9/17/2020 9:43:31 PM 人评论

4.13Zend_Http实现引用通告功能

4.13 Zend_Http实现引用通告功能

在拥有博客的朋友里,应该有很多听说过,或实际利用过引用通告trackback吧。简单地说,trackback就是在自己的博客上引用别人的博客内容时,向被引用方通知引用事实的构架。一般被引用方会在自己的博客上以链接一览的形式显示引用方的链接。这样就实现了相互的自动链接。

trackback(引用通告)功能是作为博客等应用程序的一部分来介绍的。本节将只集中于trackback的发信方,以实例的形式来解说。

alt

本例要点

将在trackback(引用通告)功能博客中作为常用功能来使用的读者,有可能并没有清晰地理解trackback功能的机理,这里想花费点篇幅来介绍一下trackback的基本流程,如图4-5所示。

alt

图4-5 引用通告的运行机制

Trackback的基本构架,其实就是利用第2章中介绍的REST模式进行信息交换的。如图4-4所示,送信者(引用方),针对特定的trackback URL(事先从外部博客上获得),送出表4-10所示的请求信息。

表4-10 请求信息

alt

被引用方的服务器,接受了请求并处理后,将结果以XML的形式通知给引用方的服务器。下面是成功与失败时的XML文档。

trackback成功/失败时的应答XML

成功时:

alt

失败时:

alt

交换的都是很简单、单纯的信息。各自博客就是根据这些基本的手续进行请求/应答的信息交换,确立与具体的博客应用程序无关的相互链接的。

另外,被引用方针对trackback的处理,随着具体的博客应用程序的不同,存在一些差异。例如,在有的博客上,必须经过博主的确认才能显示相应的URL;还有,有博客会规定引用方的正文中不含其URL,会被拒绝引用等。关于trackback的检查事项,务必参照具体引用对象的帮助文档。

目录结构

alt

本例代码

alt

通过HTTP协议进行通信时,使用Zend_Http_Client类,Zend_Http_Client类初始化时,需要依次传入“对象URL”“联想数组形式的参数”(此处是最低程度的参数,分别为进行重定向(redirect)的级数、timeout的时间)。

alt

设定请求使用的HTTP方法,这里设为HTTP POST方法,设定为GET方法时用Zend_Http_Client::GET。

alt

setParameterPost方法设定送出的参数信息(相应的GET方法时,用setParameterGet),此处以联想数组的形式设定具体的参数值。

alt

request方法进行实际的送信动作。request方法的返回值为Zend_Http_Response对象。这里只是简单地使用getBody方法显示XML文档,实际应用时,必须要有XML文档的解析过程,可以使用前面章节介绍的SimpleXml函数。

alt

补充

运行实例时的注意事项

本节使用的Zend_Http是Zend Framework的构件(component)之一,在运行本节的代码时,首先要检查一下Zend Framework是否可以使用。

如果是严格按照本书第1章介绍的方法配置环境的话,Zend Framework已经可以使用了。

关于被引用方博客的接受处理过程

在理解了“本例要点”部分介绍的trackback构架后,并不难完成被引用方博客的接受处理过程。无非就是,接受到请求后,先进行相关的检查,在可以接受的情况下,再将请求信息保存到数据库中,最后返回“本例要点”中介绍的XML数据。有兴趣的朋友可以试着完成这个接受处理过程。

相关教程

共有条评论 网友评论

验证码: 看不清楚?