如何在Perl脚本中获取当前域名,即$_SERVER['HTTP_HOST']PHP变量的等效Perl代码?
单独的主机名几乎从不有用,您还需要服务器端口,组合昵称为netloc.您很可能需要此值来构造脚本的URI.这已经包含在框架中,无需手动执行此操作.以下两种方式的代码示例.
在PSGI中,从PSGI环境哈希中读取"变量" HTTP_HOST(或者,SERVER_NAME和SERVER_PORT),或者uri在Plack :: Request中调用该方法.
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
]];
};
Run Code Online (Sandbox Code Playgroud)
在CGI,结合POSIX环境变量SERVER_NAME和SERVER_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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1032 次 |
| 最近记录: |