簡體   English   中英

在PHP中,$ _ SERVER ['HTTP_HOST']的Perl等價於什么?

[英]What is the Perl equivalent of $_SERVER['HTTP_HOST'] in PHP?

如何在Perl腳本中獲取當前域名,即$_SERVER['HTTP_HOST'] PHP變量的等效Perl代碼?

單獨的主機名幾乎永遠不會有用,您還需要服務器端口(昵稱為netloc) 您很可能需要此值來構造腳本的URI。 這已經包含在框架中,無需手動進行。 以下兩種方式的代碼示例。


在PSGI中,從PSGI環境哈希中讀取“變量” HTTP_HOST (或者, SERVER_NAMESERVER_PORT ),或在Plack :: Request中調用uri方法

use Plack::Request qw();
my $app = sub {
    my ($env) = @_;
    my $req = Plack::Request->new($env);
    return [200, ['Content-Type' => 'text/plain'], [
        sprintf "Host: %s\nURI: %s", $env->{HTTP_HOST}, $req->uri
    ]];
};

在CGI中,組合POSIX環境變量SERVER_NAMESERVER_PORT ,或調用url方法。

use CGI qw();
my $c = CGI->new;
print $c->header('text/plain');
print "Host: $ENV{SERVER_NAME}:$ENV{SERVER_PORT}\n";
print "URI: " . $c->url;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM