我正在尝试使用 PHP cURL 向 ymlp.com 发送时事通讯注册请求
一个 html 表单适用于此代码(我正在使用 ptsv2.com 来测试 POSTing):
<form method="post" action="http://ptsv2.com/t/stacktest/post?id=abcdefghijk">
<input class="text" size="20" name="EMA0" type="text" placeholder="Type your email..." />
<input class="submit" value="Subscribe to Newsletter" type="submit" />
</form>
因此,我尝试使用以下代码在 PHP cURL 请求中模仿此代码:
<?php
$cURLConnection = curl_init('http://ptsv2.com/t/stacktest/post?id=abcdefghijk');
curl_setopt($cURLConnection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURLConnection, CURLINFO_HEADER_OUT, true);
curl_setopt($cURLConnection, CURLOPT_POST, true);
curl_setopt($cURLConnection, CURLOPT_POSTFIELDS, ['EMA0' => 'deleteme@gmail.com']);
curl_setopt($cURLConnection, CURLOPT_HTTPHEADER, array('application/x-www-form-urlencoded'));
$response = curl_exec($cURLConnection);
curl_close($cURLConnection);
收到请求,但 html 表单的帖子内容类型显示为“application/x-www-form-urlencoded”,而 cURL 帖子内容类型为“multipart/form-data”;边界=------------------------b9f916145e7d51d3'。
并且在表单中发布两者id并EMA0显示为参数,而在 cURL 中id发布显示为参数,同时EMA0显示为多部分值。
我是否正确地向 cURL 提供了标头?
我的 cURL 代码中还有其他错误吗?
慕容3067478