相关疑难解决方法(0)

如何使用curl将JSON发布到PHP

我可能会偏离基础,但我一直在尝试整个下午在这个凹陷的PHP框架教程中运行curl post命令.我不明白的是PHP应该如何解释我的POST,它总是作为一个空数组出现.

curl -i -X POST -d '{"screencast":{"subject":"tools"}}'  \
      http://localhost:3570/index.php/trainingServer/screencast.json
Run Code Online (Sandbox Code Playgroud)

(那里的斜线只是为了让我看起来不像白痴,但是我使用PHP 5.2在Windows上执行此操作,也在Linux服务器上执行此操作,与Linux卷曲相同的版本)

必须有一些我缺少的东西,因为它看起来非常简单,这篇文章不是正确的解释,如果是的话,一切都会很好.

这就是我得到的回报:

HTTP/1.1 409 Conflict
Date: Fri, 01 May 2009 22:03:00 GMT
Server: Apache/2.2.8 (Win32) PHP/5.2.6
X-Powered-By: PHP/5.2.6
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

{"screencast":{"id":null,"subject":null,"body":null,
         "dataUrl":null,"dataMedium":null,"createdOn":null,"author":null}}

php rest post

108
推荐指数
4
解决办法
16万
查看次数

userland multipart/form-data处理程序

我正在寻找一个包含脚本/类的插件multipart/form-data,它可以解析并填充$_POST(+ raw)并$_FILES从中填充.通常PHP会自己做.但是因为自动处理对我来说是不够的并且使得php://input不可能[1]我可能会使用这样的东西来防止:

RewriteRule .* - [E=CONTENT_TYPE:noparsing/for-you-php]
不行.实际解决方案需要mod_headers和RequestHeader set......

提取过程可能不那么复杂.但我宁愿使用经过充分测试的解决方案.最重要的是,我更喜欢fgets用于拆分的实现,并且$_FILES密切有效地模仿处理.找到二进制有效负载的结束对我来说似乎相当棘手,特别是当您必须剥离\r\n但可能遇到仅发送\n(不允许但可能)的客户端时.

我确定这样的事情存在.但是我很难用谷歌搜索它.有谁知道实施?(PEAR :: mimeDecode可以被黑客攻击以获得表单数据的工作方式,但是内存耗尽.)

用例简而言之:需要保留原始字段名称(包括空格和特殊字符),以便进行日志记录,但始终无法避免文件上载.


出于装饰目的,这就是POST请求的外观:

POST / HTTP/1.1
Host: localhost:8000
Content-Length: 17717
Content-Type: multipart/form-data; boundary=----------3wCuBwquE9P7A4OEylndVx
Run Code Online (Sandbox Code Playgroud)

在一个\r\n\r\n序列之后,multipart/payload遵循如下:

------------3wCuBwquE9P7A4OEylndVx
Content-Disposition: form-data; name="_charset_"

windows-1252
------------3wCuBwquE9P7A4OEylndVx
Content-Disposition: form-data; name=" text field \\ 1 \";inject=1"

text1 te twj sakfkl
------------3wCuBwquE9P7A4OEylndVx
Content-Disposition: form-data; name="file"; filename="dial.png"
Content-Type: image/png

IPNG Z @@@MIHDR@@B`@@B;HF@@@-'.e@@@AsRGB@.N\i@@@FbKGD@?@?@? ='S@@@     
@@@GtIMEGYAAU,#}BRU@@@YtEXtComment@Created with GIMPWANW@@ @IDATxZl]w|
Run Code Online (Sandbox Code Playgroud)

php multipartform-data

9
推荐指数
1
解决办法
7082
查看次数

PHP"php:// input"和$ _POST互斥吗?

重复注意:这不是IMO与此问题的重复,因为我首先查看了该问题并且没有找到问题的答案.如果您确实找到了,请告诉我确切的位置.

在PHP中,正如我们所知,超全局 $_POST[]是一个数组,它将包含解析mime类型的传入HTTP请求体的结果.

  • application/x-www-form-urlencoded(简单表单帖子的标准内容类型)或
  • multipart/form-data-encoded(主要用于文件上传)

如果我们的客户端发送任何其他内容作为请求,我们需要使用返回的字符串来处理解析file_get_contents('php://input');.

现在这是我的问题; 让我们说我不知道​​我的请求包含什么类型的mimetype.我可以使用$_POSTphp://input互换?或者更具体一点,读取会php://input干扰人口$_POST[],还是会$_POST[]以某种方式破坏或禁用php://input

php ajax post parsing

9
推荐指数
0
解决办法
208
查看次数

标签 统计

php ×3

post ×2

ajax ×1

multipartform-data ×1

parsing ×1

rest ×1