PHP:在发布多部分/表单数据时将字符串解析为数组
在FirefoxHTTP headers插件中,我记录了标题和帖子内容 标题如下 文章内容如下 我变成了下面的卷曲 但是当我发现http头时,它只发送text/html 我检查了php.net,它说如果值是数组,那么Content-Type头将设置为multipart/formdataPHP:在发布多部分/表单数据时将字符串解析为数组,php,curl,Php,Curl,在FirefoxHTTP headers插件中,我记录了标题和帖子内容 标题如下 文章内容如下 我变成了下面的卷曲 但是当我发现http头时,它只发送text/html 我检查了php.net,它说如果值是数组,那么Content-Type头将设置为multipart/formdata 现在如何将$fields转换为数组?因此,数据将以多部分/表单数据格式发送。这里有吗?请帮帮我,我绞尽脑汁了两天:这不是一个完整的答案,但你永远不需要自己构建这样的MIME边界。相反,您应该寻找一个接受键值对并为
现在如何将$fields转换为数组?因此,数据将以多部分/表单数据格式发送。这里有吗?请帮帮我,我绞尽脑汁了两天:这不是一个完整的答案,但你永远不需要自己构建这样的MIME边界。相反,您应该寻找一个接受键值对并为您生成所有这些的函数。
Content-Type: multipart/form-data; boundary=---------------------------2794991859960663061251376577
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="action"\r\n
\r\n
post\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="_wp_http_referer"\r\n
\r\n
/submit/\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="cat"\r\n
\r\n
62\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="post_title"\r\n
\r\n
$fields = '-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="action"\r\n
\r\n
post\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="_wpnonce"\r\n
\r\n
c9aa342328\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="_wp_http_referer"\r\n
\r\n
/submit/\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="cat"\r\n
\r\n
62\r\n
-----------------------------2794991859960663061251376577\r\n
Content-Disposition: form-data; name="post_title"\r\n
\r\n';
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: multipart/form-data; boundary=---------------------------2794991859960663061251376577',
));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch,CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
$last = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
return array($result,$last,$info);
curl_close($ch);
HTTP/1.1 200 OK Transfer-Encoding: chunked Date: Sun, 03 Mar 2013 11:38:01 GMT Server: LiteSpeed Connection: close X-Powered-By: PHP/5.2.17 X-Pingback: http://domain.com/xmlrpc.php Content-Type: text/html; charset=UTF-8 Expires: Wed, 11 Jan 1984 05:00:00 GMT Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache Vary: User-Agent