.NET 3.5 Compact Framework でモバイル アプリケーションを作成していて、PHP Slim Framework ページに GET 要求を送信しようとしています。ローカル マシンの Web ブラウザーからページにアクセスしようとすると動作しますが、モバイル デバイスの C# アプリケーションまたはモバイル デバイスの Web ブラウザーからアクセスしようとすると、HTTP 404 が返されます。標準の PHP ページを作成して、現在の時刻を表示し、上記の 3 つすべてで機能するため、問題を特に 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 "-" "-"
1 つ目はローカル マシンからのもので、2 つ目はハンドヘルド デバイスからのものです。ご覧のとおり、最初の要求は正常に完了し、後者には 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);
}
私は Web 開発者ではないことに注意してください。
このプロジェクトでは速度も重要なので、誰かが代替の RESTful PHP フレームワークを提案してくれれば、それが彼らにとって有用であることが証明されていれば、非常にありがたいです。
最後に、簡単な洞察のために、このプロジェクトには Web ベースのアプリケーションと、Web サービスと通信するハンドヘルド モバイル アプリケーションがあります。コストを削減するためにLinuxボックスでホストできるように、スリムを使用してPHPで記述されたWebサービスを取得しようとしています。繰り返しますが、誰かが提案/代替案を持っている場合は、私も同様に感謝します.
ありがとう