3

我正在.NET 3.5 Compact Framework 中编写移动应用程序,并尝试向 PHP Slim Framework 页面发出 GET 请求。如果我尝试从本地计算机上的 Web 浏览器访问该页面,它可以工作,但如果我尝试从移动设备 C# 应用程序移动设备的 Web 浏览器访问它,我会得到 HTTP 404。我制作了一个标准 PHP 页面显示当前时间并且适用于上述所有三个,因此将问题专门隔离到 Slim 页面。我还查看了 xampp 中的 access.log,如下所示:

[20/Mar/2013:17:07:38 +0000] "GET /SlimTest/ HTTP/1.1" 200 21 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)"
[20/Mar/2013:17:09:37 +0000] "GET http://10.0.2.15/SlimTest/ HTTP/1.1" 404 523 "-" "-"

第一个来自本地机器,第二个来自手持设备,如您所见,第一个请求成功完成,后者返回 404。

Slim PHP 代码如下所示:

$app->get('/', function () {
    echo "This is the get route";    
});

C# 看起来像这样:

string webResponse = "";
try
{
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://10.0.2.15/SlimTest/");
    WebResponse response = request.GetResponse();
    using (StreamReader streamReader = new StreamReader(response.GetResponseStream()))
    {
        webResponse = streamReader.ReadToEnd();
    }
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

重要的是要注意,我不是网络开发人员,所以如果这是显而易见的事情,我深表歉意。

速度也是这个项目的本质,所以即使有人可以建议一个替代的 RESTful PHP 框架,它已被证明对他们有用,那么我会非常感激它。

最后,为了快速了解一下,这个项目将有一个基于 Web 的应用程序和一个与 Web 服务通信的手持移动应用程序。我正在尝试使用 slim 用 PHP 编写 Web 服务,以便它可以托管在 Linux 机器上以降低成本。同样,如果有人有任何建议/替代方案,那么我将同样感激。

谢谢

4

1 回答 1

0
  • 您是直接从 Visual Studio 还是从移动设备运行您的移动应用程序?
  • 您确定您的移动设备可以访问正确的网络 (10.0.2.x) 吗?
  • 不用担心 Slim,它完全符合您的需求
于 2013-07-09T08:45:57.897 回答