有一个页面驻留在运行Apache的本地服务器上。我想通过带有单个名称/值对的GET请求提交表单,例如:
id=item1234
这个GET请求必须由另一个我无法控制的服务器处理,随后返回一个我想用CGI脚本转换的页面。换句话说:
再次这更像是一个建筑问题,所以我会感激任何提示,甚至将我的鼻子插入一些指南将有所帮助,因为我无法很好地构建我的谷歌请求以找到任何相关的东西。
感谢。
答案 0 :(得分:2)
将ID“17929632”传递给此CGI代码(“proxy.pl?id=17929632”),您应该在浏览器中使用此页面。
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use CGI::Pretty qw(:standard -any -no_xhtml -oldstyle_urls);
print header;
print "<html>\n";
print " <head><title>Proxy Demo</title></head>\n";
print " <body bgcolor=\"white\">\n";
my $id = param('id') || die "No CGI param 'id'\n";
my $ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");
# Create a request
my $req = HTTP::Request->new(GET => "http://stackoverflow.com/questions/$id");
# Pass request to the user agent and get a response back
my $response = $ua->request($req);
# Check the outcome of the response
if ($response->is_success) {
my $content = $response->content;
# Modify the original content here!
print $content;
}
else {
print $response->status_line;
}
print "</body></html>\n";
答案 1 :(得分:0)
模糊的问题,模糊的答案:编写您的CGI程序以包含HTTP用户代理,例如LWP