Thực ra tôi có hai câu hỏi.Truy xuất chỉ tiêu đề trong php qua curl
(1) Có giảm sức mạnh xử lý hoặc băng thông sử dụng trên máy chủ từ xa nếu tôi lấy chỉ tiêu đề như trái ngược với hồi trang đầy đủ sử dụng php và cuộn tròn?
(2) Vì tôi nghĩ, và tôi có thể sai, câu trả lời cho câu hỏi đầu tiên là CÓ, tôi đang cố gắng để có được ngày sửa đổi cuối cùng hoặc tiêu đề If-Modified-Since của tệp từ xa chỉ để so sánh với dữ liệu được lưu trữ cục bộ theo thời gian, vì vậy tôi có thể, trong trường hợp dữ liệu đã được thay đổi, lưu trữ cục bộ. Tuy nhiên, kịch bản của tôi dường như không thể tìm nạp rằng mảnh thông tin, tôi nhận được NULL
, khi tôi chạy này:
class last_change {
public last_change;
function set_last_change() {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://url/file.xml");
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_FILETIME, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
// $header = curl_exec($curl);
$this -> last_change = curl_getinfo($header);
curl_close($curl);
}
function get_last_change() {
return $this -> last_change['datetime']; // I have tested with Last-Modified & If-Modified-Since to no avail
}
}
Trong trường hợp $header = curl_exec($curl)
được dữ liệu uncomented, tiêu đề được hiển thị, ngay cả khi tôi đã không yêu cầu nó và là như sau:
HTTP/1.1 200 OK
Date: Fri, 04 Sep 2009 12:15:51 GMT
Server: Apache/2.2.8 (Linux/SUSE)
Last-Modified: Thu, 03 Sep 2009 12:46:54 GMT
ETag: "198054-118c-472abc735ab80"
Accept-Ranges: bytes
Content-Length: 4492
Content-Type: text/xml
Dựa vào đó, 'Sửa đổi lần cuối' được trả về.
Vì vậy, tôi đang làm gì sai?
Đó là Cần lưu ý rằng các mã trên sẽ không trả lại bất kỳ tiêu đề , chỉ cần thông tin vars. Để lấy tiêu đề, bạn cần thêm 'curl_setopt ($ curl, CURLOPT_HEADER, true);'. Các tiêu đề có dạng văn bản thô sơ và cần được phân tích cú pháp sau đó. – Lukas