我在我的服务器上的一个静态类中设置了这个函数,用来发送一个post请求到一个php代码。
public static string phone;
public static async Task<string> CheckPhone()
{
string url = "my url...";
var form = new CheckPhoneForm { Phone = phone };
var content = JsonConvert.SerializeObject(form);
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsync(url, new StringContent(content));
if (response.IsSuccessStatusCode == false) return "ERROR";
return await response.Content.ReadAsStringAsync();
}
CheckPhoneForm类:
public class CheckPhoneForm
{
public string Phone { get; set; }
}
php代码:
<?php
$phone = $_POST["Phone"];
//rest of the code.....
?>
不知为什么,php文件中的$phone没有收到c#代码发送的数据,一直是空的,有人能告诉我我做错了什么吗?
当需要填写$_POST时,你可能没有以PHP "识别 "的两种格式之一发送数据。
你需要发送一个符合以下两种格式的请求 application/x-www-form-urlencoded
或 multipart/form-data
.
(发送其他请求的主体 Content-Types
仍然可以在PHP中读取,但需要通过 php://input
那么,任何内容的解析都必须手动完成。例如在发送JSON数据时,这是一种普遍遵循的方法)。)