Home > Backend Development > PHP Tutorial > Use http protocol to publish blog post comments, _PHP tutorial

Use http protocol to publish blog post comments, _PHP tutorial

WBOY
Release: 2016-07-13 09:45:17
Original
956 people have browsed it

Use http protocol to post comments on blog posts,

This blog post undertakes "php uses socket to send GET and POST requests". To use the Http class encapsulated above, consider how Submit comments to Blog Park blog posts through php scripts.

 

 Principle:

Before doing this, we must first understand that the essence of submitting comments to a blog post is to send a post request through the http protocol server. What do we need to do before posting a comment? Yes, you must log in. But logging in is another matter, which we won’t discuss here. After the user logs in, the server sets a cookie to the client. http is stateless. That is to say, after the client sends a request to the server, the server returns a response. One communication is completed. The server will not remember who just sent the request to it. Therefore, the client needs to send a request to the server with the cookie set by the server and inform the server of its identity, and the server generates a response based on the cookie. The principle is so simple, let’s take a look at our practical part.

Preparation:

In order to complete this test, I registered another blog account (DeanHuangChopper). After logging in to the blog park, open my blog (DeanChopper) and randomly open one of my blog posts, such as "Understanding Buffering Using the PHP OB Function" Mechanism" article (I use Firefox browser, the biggest advantage is that you can intuitively see what parameters are sent to the server), open the developer options, and prepare to record the process of sending comments. I just write a comment and leave a comment. This time the request is logged via developer options. Use http protocol to publish blog post comments, _PHP tutorialpublic function post($body) { $this->setLine('POST'); // Reset content-type $this->setHeader('Content-Type:application/json; charset=UTF-8'); // Skip the setBody method // $this->setBody($body); $this->body[]=$body; // Calculate content-length $this->setHeader('Content-length: ' . strlen($this->body[0])); $this->request(); return $this->response; }

After re-modifying the Http class, we can complete the writing of the main code of this article. Although in theory, you only need to set the cookie value when setting the header information, it is best to send all the header information to increase the success rate.

Before sending a comment, take a look at the parameters sent:

Use http protocol to publish blog post comments, _PHP tutorial Code part:

Finally is the main code of this article:

<?<span>php 

</span><span>require</span> "http.class.php"<span>;


</span><span>$http</span>=<span>new</span> Http('http://www.cnblogs.com/mvc/PostComment/Add.aspx'<span>);
</span>//设置头信息
<span>$http</span>->setHeader('Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'<span>);
</span><span>$http</span>->setHeader('Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'<span>);
</span><span>$http</span>->setHeader('Accept-Encoding:gzip, deflate'<span>);
</span><span>$http</span>->setHeader('X-Requested-With:XMLHttpRequest'<span>);
</span><span>$http</span>->setHeader('Referer:http://www.cnblogs.com/DeanChopper/p/4688667.html'<span>);
</span><span>$http</span>->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'<span>);
</span><span>$http</span>->setHeader('Pragma:no-cache'<span>);
</span><span>$http</span>->setHeader('Cache-Control:no-cache'<span>);
<br />//设置请求体信息<br /></span><span>$msg</span>='{"blogApp":"DeanChopper","postId":4688667,"body":"测试内容","parentCommentId":0}'<span>;
<br />//发送post请求<br /></span><span>$http</span>->post(<span>$msg</span><span>);

</span><span>echo</span> 'OK';
Copy after login

The sending process may be a bit slow, please be patient.

Finally, I don’t mind bloggers using my blog post as a test for sending comments, but please pay attention to the wording.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1041591.htmlTechArticleUse http protocol to publish blog post comments. This blog post undertakes "php uses socket to send GET and POST requests". It requires Using the Http class encapsulated above, consider how to use php scripts to blog...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template