当前位置: 首页 > 知识库问答 >
问题:

使用C#WebRequest发布时$_POST数组为空

夏立果
2023-03-14

我一直试图通过JSON实现一些客户机-服务器交互,但是,我发布到服务器的数据没有到达;我的PHP脚本中的$_post数组为空。

我刚刚直接从MSDN获取WebRequest示例并对其进行测试。那还是没用。我也尝试过仅仅用HTML表单发布一些数据,这很好。我完全被难倒了。

当我在PHP中调用getAllHeaders()时,我会得到

OK
array(5) {
  ["Content-Type"]=>
    string(33) "application/x-www-form-urlencoded"
  ["Host"]=>
    string(9) "localhost"
  ["Content-Length"]=>
    string(2) "54"
  ["Expect"]=>
    string(12) "100-continue"
  ["Connection"]=>
    string(10) "Keep-Alive"

虽然执行var_dump($_post)返回数组(0)

有人能提点什么吗?

共有2个答案

汲丰茂
2023-03-14

那些只是你的头部。您不应该期望POST参数出现在getallheaders()调用的结果中。您正在发送内容长度建议为54字节的内容。尝试var dumping$_request参数,看看它们是否是用另一个方法提交的。

汪泓
2023-03-14

MSDN中的代码发送一个原始字符串,因此PHP不知道如何将其制动到字段中并将其放入$_post中。您应该能够使用file_get_contents('php://input')获取POST数据。

如果希望数据到达$_post,则需要对其进行编码(与编码方式相同,与编码get参数的方式相同:

string postData="fieldName="+System.Web.HttpUtility.UrlEncode("The data that goes in the field");

与往常一样,如果需要多个字段,则需要用&s分隔它们。

 类似资料:
  • 问题内容: 所以我有这段代码: 最初我是正常人,但是我更改为这个,因为我认为这可能是标题问题。但是我仍然没有检测,我也没有。但是,它正在接收数据。 知道有什么问题吗? 编辑 好吧,我想我知道怎么了。它将其作为json对象发布,因此只能在php:// input中读取。如何在axios中将其更改为普通字符串? 问题答案: 从文档中(我没有在引用的材料中保留链接): 默认情况下,axios将JavaS

  • 我看过几个关于这个问题的帖子,但没有一个能解决我的问题。我正在使用XAMPP,在同一个文件夹中有一个html和一个php。 我要发送给php的是使用JavaScript中的表单()创建的。由于按预期打印了,它们是字符串和输入文件,因此构造良好。 但不幸的是,在php中,命令只输出,命令也输出。因此表单的内容似乎没有传递给PHP。 这里是html表单: 这里是提交表单的javascript: 这里的

  • 问题内容: 我正在尝试为在线Java课程创建程序。该程序包括Employee类和Name类。我必须创建多个Employee对象,并提示用户输入员工的姓名。我将所有Employee对象存储在一个employee数组中。 这是代码: 问题是编译器在运行程序时说最后一行是NullPointerException。我不确定自己在做什么错。有什么建议? 谢谢!-西恩 问题答案: 您创建了一个大小为的新数组,

  • 我需要以这种格式发布一个对象: 我试过: 但是服务器返回了一个错误的请求。我认为数据的格式无效。 如何更改代码以将数据转换为正确的格式? 谢谢你!

  • 问题内容: 我需要使用Retrofit 2发布JSON对象。我的JSON对象是 {“ logTime”:“”,“ datas”:[{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“ dat5”:“” } ,{“ dat1”:“ 1”,“ dat2”:“”,“ dat3”:“”,“ dat4”:“”,“ dat5”:“” }]} 我尝试使用以下代码: A

  • 我正在使用Postman向web API发送字符串数组。web API方法如下所示: Fiddler显示请求的内容类型为 但是我得到一个错误的响应: {"Message":"此资源不支持请求实体的媒体类型'Multipart/form-data'。","ExceptionMessage":"没有MediaTypeForall可用于从媒体类型'Multipart/form-data'的内容中读取类型