我正与另一家公司合作,为其报告软件建立客户结算界面。他们的系统是使用ASP.NET / IIS构建的,我的系统是使用PHP / Apache构建的。他们有一个API,使用内容类型的application / json通过POST发送/接收JSON数据;字符集= UTF-8
我写了一个包装器,用于向他们发送数据,他们收到的很好,还设置了一个端点,让他们发送数据,当我用cURL或Chrome"邮差"扩展,但我看不到他们发送给我的任何数据。
基本上我的端点从php://输入抓取原始帖子数据,如下所示:
$pData = file_get_contents('php://input');
$pData = json_decode($pData);
如前所述,当我使用邮递员时这很有用,但是当他们发送请求时,我看不到原始数据,$ _POST中什么也没有,当然没有$ _GET中的任何内容。我甚至尝试过$ HTTP_RAW_POST_DATA,它给出了与php:// input相同的结果。
我正在记录所有请求,并且可以看到他们正在向我的端点发出请求,但是没有给出内容长度,所以我无法判断数据是否正在向我发送。我的遗失是否会导致我错过ASP.NET应用程序中的原始数据?或者可以安全地假设问题已经结束了吗?
由于
答案 0 :(得分:0)
问题显然已经结束了。 index.php位于https://www.domain.com/dir1/dir2/index.php之类的几个目录下 - 他们发布到https://www.domain.com/dir1/dir2这显然不起作用但发布到https://www.domain.com/dir1/dir2/工作正常。不确定为什么这是ASP.NET / IIS的问题,而不是PHP / Apache,Linux终端的cURL,Postman和http://hurl.it