c# - 向服务器发送 POST 请求后,回显消息为空
问题描述
代码:
private async Task httpAsync()
{
var data = new StringContent("1254", Encoding.UTF8, "application/x-www-form-urlencoded");
var url = "https://mywebsite.com/insert.php";
using var client = new HttpClient();
var response = await client.PostAsync(url, data);
string result = response.Content.ReadAsStringAsync().Result;
textBox2.Text = result;
}
private async void button3_AsyncClick(object sender, EventArgs e)
{
await httpAsync();
}
我的 insert.php 脚本:
<?php
$postdata = $_GET['data'];
echo $postdata;
?>
我得到的错误: 注意:未定义的索引:/storage/ssd3/643/15098643/public_html/insert.php 中的数据
我还是新手,有人可以帮助我解决这个错误。我正在尝试回显发送到服务器的“1254”以进行测试。
解决方案
错误是关于 PHP 在请求中没有找到名为“data”的参数。
首先,您将POST
请求与GET
请求混为一谈。看起来您的 C# 脚本正在向您的 PHP 脚本发布“1254”,但在您的 PHP 脚本中,您正在寻找 URL 中的 GET 参数。所以要么:
- 更改您的 C# 脚本以发送
GET
请求或 POST
使用 $_POST[param name]更改您的 PHP 脚本以检查请求
其次,您的 PHP 脚本正在寻找一个名为“data”的参数,但您的所有 C# 脚本发送的都是一个值为“1254”的字符串
查看这篇文章,了解如何POST
在 C# 中使用参数发送请求。
推荐阅读
- excel - 在VBA中将行从工作表复制和删除到多个工作表
- python-3.x - 2to3.6:python转换挂起
- r - 四象限图,R中的4个不同变量
- typescript - How to get keyof individual item in a generic array?
- visual-studio-code - VSCode 终端中的 PHP 版本/可执行文件错误,但在 Mac 终端中完美运行
- alexa - Alexa Direct Skill Connection 触发 Apple Music?
- terraform - Terraform 为每个计数资源迭代地图
- discord - 如何让我的不和谐机器人从短语列表中选择一条消息,然后从该列表中随机选择一个短语发送给特定用户?
- aws-amplify - 如何增加 aws amplify 构建超时?
- python - 如何在python的文本文件中提取两个字符串之间的值?