flash和php中post方法的googleappengine问题

flash和php中post方法的googleappengine问题,php,google-app-engine,Php,Google App Engine,我正在尝试将嵌入html的flash文件部署到google应用程序引擎。 Flash(ActionScript2.0)使用“post”方法通过php函数gethostbyname()发送主机名并获取其ip地址。 事实上,我知道GoogleAppEngine不支持php。 所以我尝试用另一种方法在其他免费的web服务器上部署ipppp.php,在google app engine中只部署flash文件。 但它不起作用,我也不知道为什么。 你能给我一个关于这个问题的建议吗 -------------

我正在尝试将嵌入html的flash文件部署到google应用程序引擎。 Flash(ActionScript2.0)使用“post”方法通过php函数gethostbyname()发送主机名并获取其ip地址。 事实上,我知道GoogleAppEngine不支持php。 所以我尝试用另一种方法在其他免费的web服务器上部署ipppp.php,在google app engine中只部署flash文件。 但它不起作用,我也不知道为什么。 你能给我一个关于这个问题的建议吗

--------------佛罗里达州领地酒店---------------------

  <?php

$Var1 = $_POST['byname'];

$rtnValue = gethostbyname(trim($Var1));

if(ip2long($rtnValue) == -1 || $rtnValue == $Var1 ) {
    $rtnValue =0;

echo (result=$rtnValue");
}
else {

echo("result=$rtnValue");

}
结果_lv=新的LoadVars()

--------------ippp.php---------------------

  <?php

$Var1 = $_POST['byname'];

$rtnValue = gethostbyname(trim($Var1));

if(ip2long($rtnValue) == -1 || $rtnValue == $Var1 ) {
    $rtnValue =0;

echo (result=$rtnValue");
}
else {

echo("result=$rtnValue");

}

如果您的站点托管在app engine上,则由于的原因,您无法对app engine以外的主机进行AJAX调用。这一限制通常是正确的,并不特定于应用程序引擎。一般来说,对于托管在域
X
上的任何网页,该网页不能向域
Y
发出AJAX请求

实际上,您正在经历一个更基本的问题:当您唯一的工具是锤子时,每个问题看起来都像钉子。事实上,您可以使用appengine使用
doPost
方法简单地处理POST请求,并且您可以非常轻松地以与PHP脚本非常类似的方式获取客户端的IP地址。这里绝对没有理由使用PHP;您已经设置了一个全新的服务器来调用一个内置的PHP函数?那太疯狂了;您可以使用应用程序引擎servlet执行完全相同的操作

考虑以下代码:

public void doPost(HttpServletRequest request,HttpServletResponse response) {
    /* get "byname" param, equivalent to $POST['byname'] */
    String rtnValue = request.getParameter("byname");

    /* TODO: your if statements and other logic */

    /* print response to client, equivalent to your echo statement */
    response.getWriter().print("result=" + rtnValue);
}

事实上,我对java和servlet没有太多的了解:(我应该弄清楚如何使用servlet解决问题。如果可以的话,你能帮我编写代码吗?谢谢你的帮助。为什么你需要获取客户端的IP地址?