将带有第一个请求的 html 页面返回到在端口 5000 本地运行的 Json Rpc Dispatcher 服务器

Posted

技术标签:

【中文标题】将带有第一个请求的 html 页面返回到在端口 5000 本地运行的 Json Rpc Dispatcher 服务器【英文标题】:Return a html page with first request to a Json Rpc Dispatcher server running locally at port 5000 【发布时间】:2014-06-12 07:00:06 【问题描述】:

我有 Json Rpc Dispatcher Server 在我的本地主机的 5000 端口上运行我需要在访问时获取一个 html 索引页面

http://localhost:5000

这里是 app.psgi 使用 JSON::RPC::Dispatcher;

my $rpc = JSON::RPC::Dispatcher->new;

$rpc->register( 'ping', sub  return 'pong'  );
$rpc->register( 'echo', sub  return $_[0]  );

sub add_em 
  my @params = @_;
  my $sum = 0;
  $sum += $_ for @params;
  return $sum;


$rpc->register( 'sum', \&add_em );

# Want to do some fancy error handling? 
sub guess 
  my ($guess) = @_;
  if ($guess == 10) 
    return 'Correct!';
  
  elsif ($guess > 10) 
    die [ 986, 'Too high.', $guess];
  
  else 
    die [ 987, 'Too low.', $guess ];
  

$rpc->register( 'guess', \&guess );

目前它只返回带有 GET guess 或 sum 方法请求的 json。

我需要一个 GET 请求,该请求将返回一个 html 页面并可能使用根请求加载一些 javascript

http://localhost:5000/ 

【问题讨论】:

【参考方案1】:

根据JSON-RPC 2.0 Specification:

当进行 rpc 调用时,服务器必须回复一个响应,通知的情况除外。 响应表示为单个 JSON 对象,...

因此无法从 JSON::RPC 服务器获取 html 页面。

【讨论】:

好的,我会想办法解决这个问题。

以上是关于将带有第一个请求的 html 页面返回到在端口 5000 本地运行的 Json Rpc Dispatcher 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如果您将 dst 端口为 80 的 TCP 数据包发送到在端口 80 处提供 http 请求的主机,会发生啥?

使用带有 AJAX 表单的后退按钮?

php请求nginx服务器返回403

Firefox 避免缓存响应?

如何将文件保存到在 REST URL 请求中下载的某个文件夹? [复制]

如何将命令发送到在 perl 的非标准端口上运行的 telnet