首頁  >  文章  >  後端開發  >  詳解PHP如何利用socket發送HTTP請求

詳解PHP如何利用socket發送HTTP請求

*文
*文原創
2018-01-05 10:10:142079瀏覽

身為php程式設計師一定會接觸http協議,也只有深入了解http協議,程式設計程度才會更進一步。最近我一直在學習php的關於http的編程,許多東西恍然大悟,受益匪淺。希望分享給大家。本文需要有一定http基礎的開發者閱讀。希望對大家有幫助。

  今天帶給大家的是如何利用socket發送GET,POST請求。

  在日常程式設計中相信很多人和我一樣大部分時間是利用瀏覽器向伺服器提出GET,POST請求,那麼可否利用其它方式提出GET,POST請求呢?答案必然是肯定的。了解過HTTP協定的人知道,瀏覽器提交請求的實質是向伺服器發送一個請求訊息,這個請求訊息有請求行,請求頭,請求體(非必須)構成。伺服器根據請求資訊傳回一個回應訊息。連接斷開。

   HTTP請求的格式如下所示:

<request-line>
<headers>
<blank line>
[<request-body>]

  HTTP回應的格式與請求的格式十分相似:

<status-line>
<headers>
<blank line>
[<response-body>]

  我們可以利用HTTP傳送請求的原理,可以重新傳送請求的原理考慮利用socket發送HTTP請求。

  Socket的英文原義是「孔」或「插座」。通常也稱為“套接字”,用於描述IP位址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同電腦之間的通訊。在Internet上的主機一般運行了多個服務軟體,同時提供幾種服務。每種服務都開啟一個Socket,並綁定到一個連接埠上,不同的連接埠對應於不同的服務。如此看來,其實利用socket操作遠端檔案和讀寫本地的檔案一樣容易,把本地檔案看成透過硬體傳輸,遠端檔案透過網路線傳輸就行了。

  因而可以將發送請求的考慮成建立連接->打開socket接口(fsockopen())->寫入請求(fwrite())->讀出響應(fread()-> ;關閉檔案(fclose())。資訊進一步處理,得到自己想得到的內容。

詳解PHP修改檔權限函數chmod


#詳解PHP如何實作Hook機制

詳解使用PHP求兩個字串最長公用子字串

以上是詳解PHP如何利用socket發送HTTP請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn