1<?php 2/*
* 3* http請求類(php + socket)
4* @todo 這裡還有很多未完善的地方,僅有簡單的get post head請求
28* 傳送http get請求
29* @access public
30* @param string $url 請求的url
31*/
32public
function get($url = '')
3940
/**
41* 傳送http post請求
42* @access public
43*/
44public
function
post()
4950
/**
51* http -> head 方法,取得伺服器響應乙個 http 請求所傳送的所有標頭
52* @access public
53* @param string $url 請求的url
54* @param int $fmt 資料返回形式,關聯陣列與普通陣列
55* @return array 返回響應頭資訊
56*/
57public
function head($url = '', $fmt = 0)
62return
$headers
; 63
} 64
65/*
* 66
* 設定要請求的 url
67* @todo 這裡未做url驗證
68* @access public
69* @param string $url request url
70* @return bool
71*/
72public
function seturl($url = '')
78 } else
81} 82
83/*
* 84
* 設定http協議的版本
85* @access public
86* @param string $version http版本,default value = 1.1
87* @return bool 如果不在範圍內返回false
88*/
89public
function setversion($version = "1.1") else
95} 96
97/*
* 98
* 設定http請求行
99* @access public
100* @param string $method 請求方式 default value = get
101*/
102private
function setline($method = "get") else
109} 110
111/*
* 112
* 設定http請求頭資訊
113* @access public
114* @param array $header 請求頭資訊
115*/
116public
function setheader($header = null
)
122}
123}
124125
/**
126* http請求主體
127* @access public
128* @param array $body 請求主體
129*/
130public
function setbody($body = null
)
135}
136}
137138
/**
139* 單條設定http請求主體
140* @access public
141* @param string $key 請求主體的鍵
142* @param string $value 請求主體的值
143*/
144public
function setbodykeyvalue($key, $value
)
148}
149150
/**
151* 單條設定http請求頭資訊
152* @access public
153* @param string $key 請求頭資訊的鍵
154* @param string $value 請求頭資訊的鍵
155*/
156public
function setheaderkeyvalue($key, $value
)
160}
161162
/**
163* socket連線host, 傳送請求
164* @access private
165*/
166private
function
request() else
176$req = implode(self::crlf, $req
);
177178
//socket連線host
179$this->fh = fsockopen($this->url['host'], $this->url['port'], $this->errno, $this->errstr, $this->timeout);
180181
if (!$this->fh)
185186
//寫請求
187fwrite($this->fh, $req
);
188189
//讀響應
190while (!feof($this->fh))
193}
194195
/**
196* 關閉socket連線
PHP SOCKET方式傳送郵件
1.php中傳送郵件的方式 php傳送郵件是非常簡單的,因為它提供了mail 函式直接傳送,但這也繼承register globals成為了對初學者的第二大殺手。通過mail 函式傳送郵件需要配置php.ini郵件資訊和需要類似sendmail這樣的組建支援。通過socket通訊,使用smtp傳輸。...
php socket 模擬http請求
fsockopen 開啟乙個網路連線或者乙個unix套接字連線 注意這裡只能是 網域名稱 或 ip flag 0 params errno errstr 要post的資料 ar a aa b bb 構造要post的字串 foreach ar as key value params.key.param...
php socket資料傳送接收MSG常量
常量 數值說明 socket recv socket send msg oob 1處理超出邊界的資料。msg peek 2從接受佇列的起始位置接收資料,但不將他們從接受佇列中移除。msg waitall 8在接收到至少 len 位元組的資料之前,造成乙個阻塞,並暫停指令碼執行 block 但是,如果...