Tôi có một đoạn mã được thiết kế để nhận bất kỳ URL nào và trích xuất nó từ web. Cho đến nay nó được làm việc tốt, cho đến khi một người nào đó đã đưa nó URL này:Không thể CURL một tệp từ xa
http://www.aspensurgical.com/static/images/aspen_hill-rom_logo.png
Nếu tôi đánh nó từ trình duyệt của tôi, nó cho thấy tốt. Nhưng khi tôi cố gắng curl nó xuống, tôi nhận được:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /static/images/aspen_hill-rom_logo.png
on this server.</p>
<hr>
<address> Server at www.aspensurgical.com Port 80</address>
</body></html>
Mã CURL Tôi đang sử dụng là:
$ch = curl_init(str_replace(' ', '%20', $url));
$fh = fopen($local_file, "w");
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_exec($ch);
curl_close($ch);
là máy chủ của họ bằng cách nào đó nhận ra tôi không phải là một trình duyệt thông thường và khởi động tôi ?
Bạn, thưa ông, xứng đáng một cookie lớn tuyệt vời. Cảm ơn một tấn! – Anthony
bạn có thể giải thích useragent, về chrome, safari và trình duyệt khác không, tại sao chúng ta cần thêm chúng? – Naeem
@Naeem Mỗi trình duyệt gửi chuỗi tác nhân người dùng của riêng mình để xác định chính nó. Các chương trình công cụ tìm kiếm thông thường hiển thị trong chuỗi tác nhân người dùng mà công cụ tìm kiếm mà họ làm việc. Đó là lý do tại sao một số trang web đào sâu vào chuỗi này để xem ai yêu cầu trang. – Ranty