php獲取請求url時響應的報頭資訊幾種方法
1、用file_get_contents或者fopen、file、readfile等函式讀取url的時候,會建立一個名 為$http_response_header的變數來儲存http響應的報頭.
示例程式碼一:
<?php $url = 'http://www.baidu.com'; $html = file_get_contents($url); print_r($http_response_header); //輸出結果 Array( [0] => HTTP/1.1 200 OK [1] => Date: Tue, 06 Nov 2012 08:51:01 GMT [2] => Server: BWS/1.0 [3] => Content-Length: 9803 [4] => Content-Type: text/html;charset=gbk [5] => Cache-Control: private [6] => Expires: Tue, 06 Nov 2012 08:51:01 GMT [7] => Set-Cookie: BAIDUID=6635735B51B28640F425F802C49340F2:FG=1; expires=Tue, 06-Nov-42 08:51:01 GMT; path=/; domain=.baidu.com [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " [9] => Connection: Close ) ?>
2、使用fopen等函式開啟的資料流資訊可以用 stream_get_meta_data來獲取。
示例程式碼二:
<?php $fp = fopen($url, 'r'); print_r(stream_get_meta_data($fp)); fclose($fp); //輸出結果 Array ( [wrapper_data] => Array ( [0] => HTTP/1.1 200 OK [1] => Date: Tue, 06 Nov 2012 08:54:22 GMT [2] => Server: BWS/1.0 [3] => Content-Length: 9803 [4] => Content-Type: text/html;charset=gbk [5] => Cache-Control: private [6] => Expires: Tue, 06 Nov 2012 08:54:22 GMT [7] => Set-Cookie: BAIDUID=347578BCBD709F27925BDD8B05364A73:FG=1; expires=Tue, 06-Nov-42 08:54:22 GMT; path=/; domain=.baidu.com [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " [9] => Connection: Close ) [wrapper_type] => http [stream_type] => tcp_socket [mode] => r [unread_bytes] => 0 [seekable] => [uri] => http://www.baidu.com [timed_out] => [blocked] => 1 [eof] => ) ?>
3、get_headers()也可以獲取請求url的響應報文。
示例程式碼三:
<?php print_r(get_headers($url)); Array ( [0] => HTTP/1.1 200 OK [1] => Date: Tue, 06 Nov 2012 08:58:41 GMT [2] => Server: BWS/1.0 [3] => Content-Length: 9803 [4] => Content-Type: text/html;charset=gbk [5] => Cache-Control: private [6] => Expires: Tue, 06 Nov 2012 08:58:41 GMT [7] => Set-Cookie: BAIDUID=87B6F26EEC74F2B8F7FABA934DC6BB24:FG=1; expires=Tue, 06-Nov-42 08:58:41 GMT; path=/; domain=.baidu.com [8] => P3P: CP=" OTI DSP COR IVA OUR IND COM " [9] => Connection: Close ) ?>
4、php5中新增的引數context使這些函式更加靈活,通過它我們可以定製http請 求,甚至post資料。
相關推薦
php獲取請求url時響應的報頭資訊幾種方法
1、用file_get_contents或者fopen、file、readfile等函式讀取url的時候,會建立一個名 為$http_response_header的變數來儲存http響應的報頭. 示例程式碼一: <?php $url
php獲取客戶端真實ip地址的三種方法
php獲取使用者(客戶端)真實IP地址的兩種方法 第一種方法,還算靠譜,本人以前一直用的是這個方法: function get_real_ip(){ $ip=false; if(!empty($_SERVER['HTTP_CL
使用JS準確獲取URL網址中引數的幾種方法
(新年第一天上班)今天就遇到這樣一個問題,簡單描述就是需要從URL中獲取所傳遞的引數。如果使用後臺語言我們都會有很多中方法來獲取,但是網站的中的所有資料都是通過AJAX進行傳遞的,
Android中實現延時執行操作的幾種方法
在Android開發中我們可能會有延時執行某個操作的需求,例如我們啟動應用的時候,一開始呈現的是一個引導頁面,過了兩三秒後,會自動跳轉到主介面。這就是一個延時操作。 下面是實現延時執行操作的幾種方法: 1.使用執行緒的休眠實現延時操作 new Thread() {
Android列印除錯資訊幾種方法===>Log
Android程式設計的孩子就喜歡列印好多好多的除錯資訊,也沒辦法,誰讓咱們菜呢 1傳統java方法 System.out.println("===>start!");(1)看不懂?回家補你的JAVA去吧! (2)能用,但是不推薦,不信你看
獲取JAVA[WEB]專案相關路徑的幾種方法
在jsp和class檔案中呼叫的相對路徑不同。 在jsp裡,根目錄是WebRoot 在class檔案中,根目錄是WebRoot/WEB-INF/classes 當然你也可以用System.getProperty("user.dir")獲取你工程的絕對路徑。 另:在Jsp,Servlet,Java中詳細獲得路
iOS-延時執行常見的幾種方法
本節主要介紹幾種我們通常用到的實現延時的方法。 延時方法我們統一呼叫- (void)delayMethod - (void)delayMethod { NSLog(@"delayMethodEnd = %@",[NSThread currentT
頁面載入時執行js的幾種方法
第一種: [javascript] $(document).ready(function(){ alert("第一種方法。"); }); 第二種: [javascript] $(function(){ alert("第二種方法。"); }); 第三種
Handler記憶體洩露的分析和解決辦法以及實現延時執行操作的幾種方法
一.Handler記憶體洩露的分析和解決辦法在進行非同步操作時,我們經常會使用到Handler類。最常見的寫法如下。public class MainActivity extends Activity
Android延時執行呼叫的幾種方法(轉)
From: http://blog.sina.com.cn/s/blog_46726d2401015t8q.html 一、開啟新執行緒 new Thread(newRunnable() { publicvoidrun() { Thread.sle
ios 中響應震動的幾種方法
最近在做微信的搖一搖功能,也算是很小的知識點,整理下,免得忘了: 方法有三: 一.繼承自UIWindow(已測試) - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { } -
php獲取請求返回頭資訊
很多時候需要獲取一個請求的返回頭資訊,在php中可以通過curl的方式獲取,還有更簡單的 php中有一個get_headers()函式就是專門用來做這個 的 <?php $url = 'http://www.example.com'; print_r(get_hea
PHP 獲取請求接口的IP地址
獲取ip 地址function GetIP(){ if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
PHP CURL本地URL時,一直處於 pending 狀態
php curl php pst 開啟 cgi end 成了 腳本 占用 原因是,自己本身提起curl的腳本,就一直占用著本地的 9000 端口。然後又去請求 9000 端口處理。這樣子就造成了死鎖 所以,本地如果需要調試此類問題的話,可以單獨為 curl 開啟一個新的端口
Java獲取此次請求URL以及服務器根路徑的方法
h+ clas string pan gets pps 內容 端口 index http://www.jb51.net/article/71693.htm ********************************************** 本文介紹了Java獲取此
file_get_contents遠端請求url時,出現警告: php_network_getaddresses: getaddrinfo failed: Name or servicenot known
用file_get_contents請求資料時有時成功有時報錯,網上改伺服器配置什麼的看的不是很懂,直接改用curl請求了 curl程式碼: $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_HEADER
獲取請求URL地址:
引入的包: import javax.servlet.http.HttpServletRequest; 因為返回值是StringBuffer型別,可以使用轉換成字串型別: public String static getURL(HttpServletRequest
【轉】PHP獲取重定向URL的幾種方法
有時候我們會在開發中,經常會遇到有URL 301或 302重定向的情況,這時候我們可能需要獲取重定向之後的url,下面我們介紹一下幾種獲取重定向url的方法: 1、用get_headers函式php自帶的get_headers函式可以獲取伺服器響應一個HTTP請求所傳送的所有標頭,我們可以嘗試用該函式實現。
PHP-模擬請求和操作響應
模擬請求 fsockopen <?php // 建立連線 $link = fsockopen('localhost', '80'); define('CRLF', "\r\n"); // 請求行 $request_data = 'GET /'.CRLF; // 請求頭 $request_data