Tôi nhận được lỗi máy chủ sau trên một kịch bản perl:tiêu đề không đúng định dạng từ tập lệnh. Xấu header = <! DOCTYPE html>
bị thay đổi tiêu đề từ kịch bản. Xấu header =: youtube_perl.pl,
Đây là mã nguồn của tôi:
#!"C:\XAMPP\perl\bin\perl.exe" -T
use strict;
use warnings;
use CGI;
use CGI::Carp qw/fatalsToBrowser/;
use WWW::Mechanize;
my $q = CGI->new;
my $url = 'http://www.youtube.com';
my $mechanize = WWW::Mechanize->new(autocheck => 1);
$mechanize->get($url);
my $page = $mechanize->content();
print $page;
Cảm ơn trước!
@ user589294 - Không. Perl có thể in chúng. Nhưng chúng sẽ không là phản hồi HTTP hợp lệ. Vì vậy, nếu bạn muốn trang HTML của bạn được in bởi Perl để được vận chuyển qua HTTP, bạn cần phải thực sự in một phản hồi HTTP đầy đủ - không có gì để làm với Perl – DVK
Tất nhiên Perl có thể in các trang HTML mà không cần tiêu đề! Tuy nhiên, bạn không thể viết một kịch bản CGI mà không cần in một tiêu đề. Tốt hơn là: 'in $ q-> tiêu đề();'. Xem [perldoc CGI] (http://perldoc.perl.org/CGI.html). – mscha
Bạn nên sử dụng '\ x0D \ x0A' thay vì' \ n' làm EOL khi nói HTTP. HTTP chỉ định rằng các dòng phải được kết thúc bằng CR-LF trong khi '\ n' là điểm cuối của dấu dòng cho môi trường hiện tại của bạn,' \ n' chỉ xảy ra là '\ x0D \ x0A' cho bạn bởi vì bạn đang chạy trên Windows . –