如何利用http协议发布博客园博文评论,
先给大家介绍下实现原理:
给博文提交评论的实质就是通过http协议服务器发送一个post请求。在发布评论前,我们需要做什么呢?对,是必须要登录的。但登录是另一件事情,我们这里先不讨论。用户登录后,服务器给客户端设置一个cookie。http是无状态的。也就是说客户端向服务器发送请求后,服务器返回响应。一次通信完成。服务器不会记得刚才是谁向自己发送请求。所以客户端需要拿着服务器给自己设定好的cookie向服务器发送请求并告知服务器自己的身份,服务器根据cookie产生响应。
准备工作:
为了完成本次测试,我又注册了一个博客园小号(DeanHuangChopper),登录博客园后,打开我博客(DeanChopper),随便打开我的一篇博文,例如《结合php ob函数理解缓冲机制》一文(我用的是火狐浏览器,最大优点是向服务器发送什么参数可以很直观地看出来了),打开开发者选项,准备记录发送评论的过程。我随便写一评论,发表评论。这一次请求通过已经开发者选项记录下来。
我们只需要关注请求头就好了。
很明显,我们通过Http类的setHeader()方法设置好请求头信息,通过post()方法发送就可以了。我们先仔细分析下请求头信息。Host和Content-type,Contetn-length会默认通过http的一些方法设置好,我们可以不添加。但必须注意的是Content-type类型是"application/json; charset=UTF-8",有别于Http默认设置的“application/x-www-form-urlencoded”。请求体是json形式,而非数组形式,因而原来的Http post方法需要重新写一下。
public function post($body) { $this->setLine('POST'); // 重新设置content-type $this->setHeader('Content-Type:application/json; charset=UTF-8'); // 跳过setBody方法 // $this->setBody($body); $this->body[]=$body; // 计算content-length $this->setHeader('Content-length: ' . strlen($this->body[0])); $this->request(); return $this->response; }
在重新修改Http类后,我们便可以完成本文的主要代码的编写了。虽然按理论来说,设置头信息时只要设置cookie值就好了,但是将最好将头信息全部发送以提高成功率。
在发送评论之前,看一下发送的参数:
我们只需要将想要发送的内容填写到"body"后面就可以了。
代码部分:
最后是本文的主要代码:
<?php require "http.class.php"; $http=new Http('http://www.cnblogs.com/mvc/PostComment/Add.aspx'); //设置头信息 $http->setHeader('Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'); $http->setHeader('Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'); $http->setHeader('Accept-Encoding:gzip, deflate'); $http->setHeader('X-Requested-With:XMLHttpRequest'); $http->setHeader('Referer:http://www.cnblogs.com/DeanChopper/p/4688667.html'); $http->setHeader('Cookie:_ga=GA1.2.1359064105.1438444082; __gads=ID=e0c32fd6db6e2a6d:T=1438443900:S=ALNI_Mb6AAflcBD6gcdHgeE3IqVDJYnnjA; .CNBlogsCookie=C8013C91E54C151DEDA30E2C1E842982338C9054A8BB8639AC2DAB7578445BF1DF5BC49D39D8BE5FDAC33541CE4E4FA386CFD3F946EA1D79D1E34809A4CCBD7488A15641AEF685A6258CF3F03597BCAF50049F8C95A310076677598990FB2E4FB1E9671A; _5t_trace_sid=84a9ed0b086c2c127551cf911bec7b1d; _5t_trace_tms=1; _gat=1'); $http->setHeader('Pragma:no-cache'); $http->setHeader('Cache-Control:no-cache'); //设置请求体信息 $msg='{"blogApp":"DeanChopper","postId":4688667,"body":"测试内容","parentCommentId":0}'; //发送post请求 $http->post($msg); echo 'OK';
发送过程可能有点慢,请耐心等待。
以上介绍就是本文的全部内容,希望大家喜欢。

小红书作为一款流行的社交电商平台,用户评论是其中一个重要的互动环节。很多用户发现,在小红书上,最新的评论往往出现在评论区的最下面。这是为什么呢?本文将深入探讨小红书评论区的排序机制,并分享一些让评论排在前面的技巧。一、为什么小红书最新的评论在最下面?小红书评论区的默认排序方式是按照时间顺序展示评论,即最新评论会显示在评论区底部。这种排序方式有助于用户轻松查看最新评论,获取实时信息。小红书鼓励用户之间的互动,通过将最新的评论置于页面底部,激励用户积极参与评论。这种设计让用户能够浏览其他用户的评论,

人们在抖音上发布视频、浏览视频、评论互动,乐此不疲。但在评论互动中,有时我们可能会发表一些不当言论或误操作,想要删除这些评论,那么如何在抖音上删除自己的评论呢?一、自己在抖音评论怎么删除?1.登录抖音App,找到你想要删除的评论所在的视频。2.在视频页面下方,找到所有评论列表。3.找到你的评论,点击评论右侧的心形图标(点赞),然后点击删除图标(垃圾桶),确认删除。4.如果你在评论中@了其他人,删除评论时会收到提示:“删除这条评论后,@的人将不会收到通知。”如果你想让@的人收到通知,可以先取消@,

小红书是一款备受欢迎的社交电商平台,用户可以在这里分享购物心得、推荐商品并交流购物经验。一些用户发现他们在小红书上发布的评论总是被显示在最底部,这让他们感到困惑。本文将探讨为什么小红书的评论排列方式会使用户的评论显示在底部,并介绍如何在小红书上修改评论的位置。一、为什么小红书自己的评论在最下面?小红书上评论的显示顺序通常是根据评论的时间顺序来排列的。如果你的评论是在其他用户评论之后发表的,那么它就会显示在最下面。这是小红书默认的评论排序方式,旨在保持评论区的秩序和清晰度。小红书可能会根据评论的内

小红书作为一款流行的社交媒体平台,用户可以在这里分享生活、交流心得。有些用户会发现,自己评论别人的帖子后,对方却看不到。那么,为什么在小红书评论别人看不到呢?本文将详细探讨这一问题,帮助大家解决困惑。一、为什么在小红书评论别人看不到?延迟审核:小红书评论内容经过审核,可能因包含敏感词汇或违规内容而被暂时隐藏。在此情况下,评论发布后,对方可能暂时无法看到。一般而言,审核完成后,这些评论将重新显示。账号异常可能导致评论者发布的评论无法被对方看到,即使评论已成功发布。这种异常情况包括账号被封禁或功能限

小红书是一款备受欢迎的社交电商平台,用户可以在这里分享购物体验、推荐商品。有些用户反映在评论中上传的图片无法正常显示,这一情况让他们感到困扰。本文将帮助您找出小红书评论中图片无法显示的原因,并提供解决方法。一、为什么小红书评论显示不出来图片?图片格式可能不被支持:小红书评论功能仅支持有限的图片格式。如果您上传的图片格式不受支持,可能会导致图片无法显示。建议您尝试使用其他格式,如JPG、PNG等。评论中上传的图片大小可能会受到小红书的限制,如果您的图片尺寸过大,可能会导致无法正常显示。建议您尝试压

在当下的数字时代,小红书已经成为许多人分享生活和获取信息的主要平台。有时候,我们可能会需要删除在小红书上的历史评论,或者遇到评论成功却无法看见的情况。本文将围绕这两个问题展开,提供详细的操作方法和可能的原因。一、小红书历史评论怎么删除?删除小红书历史评论,通常可以按照以下步骤进行:1.找到评论:在小红书APP中,找到自己发布的评论。通常评论会显示在笔记下方或评论区。2.长按评论:用手指长按住自己的评论,直至出现删除选项。3.确认删除:在弹出的删除确认对话框中,点击“确定”或“删除”按钮,即可删除

小红书作为一款热门的社交电商平台,用户之间的互动评论是平台中不可或缺的交流方式。有时候,我们可能会发现自己的评论被其他人删除,这种情况可能会让我们感到困惑。一、小红书把别人评论删了怎么找回?当发现自己的评论被删除时,首先可以尝试在平台上直接搜索相关的帖子或商品,查看是否还能找到该评论。如果评论被删除后仍然显示,那么可能是被原帖主删除的,这时候可以尝试联系原帖主,询问其删除评论的原因,并请求恢复评论。如果评论已经被完全删除且无法在原帖上找到,那么在平台上恢复评论的机会相对较小。可以尝试使用其他途径

小红书作为一款流行的社交电商平台,用户评论是分享心得、交流经验的重要方式。但是,有些用户会发现自己的评论看不见了,或者在评论中无法显示图片。那么,这是怎么回事呢?本文将为您详细解答这些问题。一、我的小红书评论看不见是怎么回事?小红书对用户评论内容实行严格审核制度。如果您发布的评论正在审核中,评论将暂时不可见。请您耐心等待,审核通过后评论将自动显示。2.若您的评论被小红书管理员删除,将无法继续在平台上显示。为避免此类情况发生,请确保您的评论符合平台规定,避免发布任何违规内容。在评论时,请注意文明用


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver Mac版
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境