本文目錄一覽:
- 1、如何在php中獲取curl請求的請求頭信息及相應頭信息
- 2、php的header 函數怎麼用
- 3、php 如何獲取 客戶端http header
- 4、PHP 用 curl 獲取指定網址的 header
- 5、jsp中request.getHeader()獲取客戶端的各種信息,那php中什麼方法來獲取
如何在php中獲取curl請求的請求頭信息及相應頭信息
oCurl = curl_init();
// 設置請求頭
$header[] = “Content-type: application/x-www-form-urlencoded”;
$user_agent = “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36”;
curl_setopt($oCurl, CURLOPT_URL, $sUrl);
curl_setopt($oCurl, CURLOPT_HTTPHEADER,$header);
// 返回 response_header, 該選項非常重要,如果不為 true, 只會獲得響應的正文
curl_setopt($oCurl, CURLOPT_HEADER, true);
// 是否不需要響應的正文,為了節省帶寬及時間,在只需要響應頭的情況下可以不要正文
curl_setopt($oCurl, CURLOPT_NOBODY, true);
// 使用上面定義的 ua
curl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
// 不用 POST 方式請求, 意思就是通過 GET 請求
curl_setopt($oCurl, CURLOPT_POST, false);
$sContent = curl_exec($oCurl);
// 獲得響應結果里的:頭大小
$headerSize = curl_getinfo($oCurl, CURLINFO_HEADER_SIZE);
// 根據頭大小去獲取頭信息內容
$header = substr($sContent, 0, $headerSize);
curl_close($oCurl);
php的header 函數怎麼用
範例一: 本例使瀏覽器重定向到 PHP 的官方網站。
?PHP
Header(“Location: “;);
exit; //在每個重定向之後都必須加上「exit”,避免發生錯誤後,繼續執行。
?
?php
header(“refresh:3;url=”);
print(‘正在加載,請稍等…br三秒後自動跳轉~~~’);
header重定向 就等價於替用戶在地址欄輸入url
?
範例二:禁止頁面在IE中緩存
要使用者每次都能得到最新的資料,而不是 Proxy 或 cache 中的資料,可以使用下列的標頭
?PHP
header( ‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’ );
header( ‘Last-Modified: ‘ . gmdate( ‘D, d M Y H:i:s’ ) . ‘ GMT’ );
header( ‘Cache-Control: no-store, no-cache, must-revalidate’ );
header( ‘Cache-Control: post-check=0, pre-check=0’, false );
header( ‘Pragma: no-cache’ ); //兼容http1.0和https
?
CacheControl = no-cache
Pragma=no-cache
Expires = -1
php 如何獲取 客戶端http header
?php
$dir=$HTTP_GET_VARS[“dir”]; //…….取得上個頁面傳遞來的路徑
$file=$HTTP_GET_VARS[“file”]; //…….取得傳遞來的文件名
$url=parse_url($HTTP_REFERER); /*……取得前一頁面的URL地址,並將其放入一個數組中*/
if($url[host]!=$HTTP_HOST){echo “要下載本軟件請到a href=;東方小屋/a”;exit;} /*檢查來源網站是不是自己的網站,如果不是,返回「要下載本……」*/
if(empty($dir))$dir=”/”; //……如果路徑名為空,則為指定根目錄
if(empty($file)){echo “未指定要下載的文件!”;exit;} /*如果文件名為空,返回「未指定……」*/
$rootdir=”文件存放的根目錄”;//……你的下載路徑根目錄
$realurl=$rootdir.$dir; //…….取得你的下載目錄
chdir($realurl); //……將當前目錄轉到下載目錄中
if(!file_exists($file)){echo “對不起,此鏈接已經失效,請在下載頁面上向我們報告,謝謝!”;exit;} //……測試文件是否存在
$filename=$file;
//發送文件頭信息
header(“Cache-control: private”); // fix for IE
header(“Content-Type: application/octet-stream”);
header(“Content-Length: “.filesize($filename));
header(“Content-Disposition: attachment; filename=$filename”);
$fp = fopen($filename, ‘r’); // 以讀取方式打開指定文件
fpassthru($fp); // ** CORRECT ** 以二進制方式讀取文件
fclose($fp); // 關閉文件
?
PHP 用 curl 獲取指定網址的 header
curl_setopt($curl, CURLOPT_NOBODY,1); //啟用時將不對HTML中的BODY部分進行輸出。
jsp中request.getHeader()獲取客戶端的各種信息,那php中什麼方法來獲取
服務器變量 $_SERVER 詳解:
1、$_SESSION[‘PHP_SELF’] — 獲取當前正在執行腳本的文件名
2、$_SERVER[‘SERVER_PROTOCOL’] — 請求頁面時通信協議的名稱和版本。例如,「HTTP/1.0」。
3、$_SERVER[‘REQUEST_TIME’] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。
4、$_SERVER[‘argv’] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER[‘argv’][0];post方法無法給他賦值。
5、$_SERVER[‘SERVER_NAME’] — 返回當前主機名。
6、$_SERVER[‘SERVER_SOFTWARE’] — 服務器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0
7、$_SERVER[‘REQUEST_METHOD’] — 訪問頁面時的請求方法。例如:「GET」、「HEAD」,「POST」,「PUT」。
8、$_SERVER[‘QUERY_STRING’] — 查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)。
9、$_SERVER[‘DOCUMENT_ROOT’] — 當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。 如E:\server
10、$_SERVER[‘HTTP_ACCEPT’] — 當前請求的 Accept: 頭信息的內容。
11、$_SERVER[‘HTTP_ACCEPT_CHARSET’] — 當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。
12、$_SERVER[‘HTTP_ACCEPT_ENCODING’] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。
13、$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] — 當前請求的 Accept-Language: 頭信息的內容。例如:「en」。
14、$_SERVER[‘HTTP_CONNECTION’] — 當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。
15、$_SERVER[‘HTTP_HOST’] — 當前請求的 Host: 頭信息的內容。
16、$_SERVER[‘HTTP_REFERER’] — 鏈接到當前頁面的前一頁面的 URL 地址。
17、$_SERVER[‘HTTP_USER_AGENT’] — 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。
18、$_SERVER[‘HTTPS’] — 如果通過https訪問,則被設為一個非空的值,否則返回off.
19、$_SERVER[‘REMOTE_ADDR’] — 正在瀏覽當前頁面用戶的 IP 地址。
20、$_SERVER[‘REMOTE_HOST’] — 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.1
21、$_SERVER[‘REMOTE_PORT’] — 用戶連接到服務器時所使用的端口。我在本機測試沒通過,不知道什麼原因。
22、$_SERVER[‘SCRIPT_FILENAME’] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php
23、$_SERVER[‘SERVER_ADMIN’] — 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值
24、$_SERVER[‘SERVER_PORT’] — 服務器所使用的端口。默認為「80」。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。
25、$_SERVER[‘SERVER_SIGNATURE’] — 包含服務器版本和虛擬主機名的字符串。
26、$_SERVER[‘PATH_TRANSLATED’] — 當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用 httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。
27、$_SERVER[‘SCRIPT_NAME’] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。
28、$_SERVER[‘REQUEST_URI’] — 訪問此頁面所需的 URI。例如,「/index.html」。
29、$_SERVER[‘PHP_AUTH_DIGEST’] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變量被設置成客戶端發送的「Authorization」HTTP 頭內容(以便作進一步的認證操作)。
30、$_SERVER[‘PHP_AUTH_USER’]– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。
31、$_SERVER[‘PHP_AUTH_PW’] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。
32、$_SERVER[‘AUTH_TYPE’]–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。
原創文章,作者:XE6X0,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127329.html