php構造http頭部傳送請求

2021-05-24 13:30:45 字數 1651 閱讀 2234

http頭部的格式和引數說明

php傳送http請求的最關鍵點在於構造乙個符合http協議的頭部,http請求的資訊一般以下幾個方面構成

(1)http method:一般有post, get這兩種

(2)request url:http所請求的資源

(3)http version:用哪乙個http版本協議,常見的有http/1.1 和http/1.0

(4)host:請求的主機名稱

(5)user-agent:使用者**類別,一般是瀏覽器名稱,如firefox的user-agent:mozilla/5.0 (x11; u; linux i686; en-gb; rv:1.9.2.15) gecko/20110303 ubuntu/10.04 (luci    d) firefox/3.6.15一般從user-agent中可以知道使用者用的是什麼型別的瀏覽器和作業系統,以級他們的版本

(7)accept-language:可以接受的語言型別,如en-gb,en;q=0.5

(8)accept-encoding:可以接受的編碼型別,如gzip,deflate,可以接受壓縮

(9)accept-charset:可以接受的字型編碼,如iso-8859-1,utf-8;q=0.7,*;q=0.7

(11)cookie:要傳送到伺服器上的cookie資料,如ajstat_ok_times=2; sess_id=c8c293c948c233a9a89aa11fb08c61af5f29c7ef; ajstat_ok_pages=2

(12)content-length:除了頭部,傳送內容的長度。

(13)referer:也就是先前訪問的頁面.

content-type常見有如下型別,因為content-type和資料傳送的格式有很大的關係,所以這裡詳細說明資料提交的型別

在form元素的語法中,enctype表明提交資料的格式 用 enctype 屬性指定將資料回發到伺服器時瀏覽器使用的編碼型別。

下邊是說明:

multipart/form-data: 窗體資料被編碼為一條訊息,頁上的每個控制項對應訊息中的乙個部分。

text/plain: 窗體資料以純文字形式進行編碼,其中不含任何控制項或格式字元。

form的enctype屬性為編碼方式,

當action為get時候,瀏覽器用x-www-form-urlencoded的編碼方式把form資料轉換成乙個字串(name1=value1&name2=value2...),

當action為post時候,瀏覽器把form資料封裝到http body中,然後傳送到server。

但是如果有type=file的話,就要用到multipart/form-data了。

瀏覽器會把整個表單以控制項為單位分割,並為每個部分加上content-disposition(form-data或者file),

content-type(預設為text/plain),name(控制項name)等資訊,並加上分割符(boundary)。

php構造http請求

用php傳送http請求的主要分兩部

(1)構造乙個http頭部的串.

(2)用fsockopen開啟socket連線。

(3)再用fwrite把構造好的資料傳送到請求主機

PHP 傳送HTTP請求

file get contents版本 傳送post請求 param string url 請求位址 param array post data post鍵值對資料 return string function send post url,post data 使用如下 post data array...

php獲取http頭部請求狀態資訊

使用curl來實現,curl需要在php.ini中設定啟用,開啟php.ini,找到 extension php curl.dll 去掉前面的注釋。curl curl init url curl setopt curl,curlopt url,url url curl setopt curl,cur...

Php傳送HTTP請求有哪些方式?

php 開發中我們常用 curl 方式封裝 請求,什麼是 curl curl 是乙個用來傳輸資料的工具,支援多種協議,如在 linux 下用 curl 命令列可以傳送各種 請求。php 的 curl 是乙個底層的庫,它能根據不同協議跟各種伺服器通訊,協議是其中一種。現代化的 php 開發框架中經常會...