Request 類(lèi)?

請(qǐng)求類(lèi)是 HTTP 請(qǐng)求的面向?qū)ο蟊憩F(xiàn)形式。這意味著它可以用于傳入請(qǐng)求,例如來(lái)自瀏覽器的請(qǐng)求,以及將請(qǐng)求從應(yīng)用程序發(fā)到到第三方應(yīng)用的傳出請(qǐng)求。

這個(gè)類(lèi)提供了它們需要的共同的功能,但是這兩種情況都有自定義的類(lèi),它們繼承請(qǐng)求類(lèi),然后添加特定的功能。

傳入請(qǐng)求類(lèi)CURL請(qǐng)求類(lèi) 了解更多信息。

類(lèi)參考?

CodeIgniter\HTTP\IncomingRequest
getIPAddress()?
返回:可以檢測(cè)到的用戶 IP 地址,否則為 NULL ,如果 IP 地址無(wú)效,則返回 0.0.0.0
返回類(lèi)型:string

返回當(dāng)前用戶的 IP 地址。如果 IP 地址無(wú)效,返回 ‘0.0.0.0’

echo $request->getIPAddress();

重要

此方法會(huì)根據(jù) App->proxy_ips 的配置,來(lái)返回 HTTP_X_FORWARDED_FOR、 HTTP_CLIENT_IP、HTTP_X_CLIENT_IP 或 HTTP_X_CLUSTER_CLIENT_IP 。

validIP($ip[, $which = ''])?
參數(shù):
  • $ip (string) – IP 地址
  • $which (string) – IP 協(xié)議 (‘ipv4’ 或 ‘ipv6’)
返回:

IP 有效返回 true,否則返回 false

返回類(lèi)型:

bool

傳入一個(gè) IP 地址,根據(jù) IP 是否有效返回 true 或 false

注解

$request->getIPAddress() 自動(dòng)檢測(cè) IP 地址是否有效

if ( ! $request->validIP($ip))
{
    echo 'Not Valid';
}
else
{
    echo 'Valid';
}

第二個(gè)參數(shù)可選,可以為 ‘ipv4’ 或 ‘ipv6’。默認(rèn)這兩種格式會(huì)全部檢查。

method([$upper = FALSE])?
參數(shù):
  • $upper (bool) – 以大寫(xiě)還是小寫(xiě)返回方法名,TRUE 表示大寫(xiě)
返回:

HTTP 請(qǐng)求方法

返回類(lèi)型:

string

返回 $_SERVER['REQUEST_METHOD'], 并且轉(zhuǎn)換字母到指定大寫(xiě)或小寫(xiě)

echo $request->method(TRUE); // Outputs: POST
echo $request->method(FALSE); // Outputs: post
echo $request->method(); // Outputs: post
getServer([$index = null[, $filter = null[, $flags = null]]])?
參數(shù):
  • $index (mixed) – 要過(guò)濾的變量
  • $filter (int) – 要過(guò)濾的類(lèi)型,過(guò)濾類(lèi)型列表 見(jiàn)此.
  • $flags (int) –

    過(guò)濾器ID. 完整列表 見(jiàn)此.

返回:

$_SERVER 值,如果不存在則返回NULL

返回類(lèi)型:

mixed

該方法與 IncomingRequest 類(lèi) 中的 post(), get()cookie() 方法相同。只是它只獲取 getServer 數(shù)據(jù)($_SERVER)

$request->getServer('some_data');

要返回多個(gè) $_SERVER 值的數(shù)組,請(qǐng)將所有鍵作為數(shù)組傳遞。

$require->getServer(array('SERVER_PROTOCOL', 'REQUEST_URI'));