【发布时间】:2019-06-02 14:39:36
【问题描述】:
我在发送 POST 请求和获得响应时遇到问题。我制作了返回一些字符串值的本地 PHP 脚本,但我无法让它与 Xamarin 一起使用。
这是我用来发送请求的方法:
public async Task<string> Post_Request()
{
var request = new HttpRequestMessage();
request.RequestUri = new Uri("http://localhost/server.php");
request.Method = HttpMethod.Post;
request.Headers.Add("Accept", "application/json");
var client = new HttpClient();
HttpResponseMessage response = await client.SendAsync(request).ConfigureAwait(continueOnCapturedContext: false);
if (response.StatusCode == HttpStatusCode.OK)
{
return "OK";
}
else
{
return "BAD!";
}
}
在调试时,程序不会进入“if (response.StatusCode == HttpStatusCode.OK)”条件下的 if 或 else 代码分支。
这是我的 PHP 脚本:
<?php
return
"
{
"user":"01",
"name":"ime"
}
"
//echo "OK";
?>
【问题讨论】:
-
localhost指的是设备|仿真器本身,因此除非您尝试连接到在设备|仿真器上运行但无法工作的 Web 服务器。使用您的 PHP 服务器|PC 正在使用的公共|相同子网 IP 地址。