【发布时间】:2011-08-06 18:44:21
【问题描述】:
谁能帮助我如何使用 PHP 和 cURL 将数据从表单 (POST) 发送到 URL?
使用 cURL,我想要完成的只是发送数据,我不想被重定向也不想得到任何类型的输出(HTML 或 TEXT),只需提交数据。
很高兴知道数据是否已成功提交以处理错误或重定向。
附加信息。我认为我被重定向的原因是,一旦我执行 cURL,作为第三方网站的目标页面就会重定向到位,以确认用户已收到他们的数据,并且由于某种原因,当我使用 cURL 发送我的数据,他们的重定向会影响我的页面,因此我的页面也会重定向到他们的确认站点。
谢谢大家。
示例代码:
$sub_req_url ="http://domain.com/util/request";
$ch = curl_init($sub_req_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, "id=64&session=1&k=B0EA8835E&firstname=Name&lastname=Lastname&company=Company%20Name&email=me@gmail.com&work_phone=123-456-7890");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
$resp = curl_exec($ch);
curl_close($ch);
我编辑这篇文章以展示我正在使用的示例。我应该首先发布代码。
【问题讨论】:
-
显示您拥有的代码。听起来问题就在那里。您的问题没有具体信息可供参考。 (另外,“任何人都可以帮忙”并不是一个技术问题。)
-
嗯...您不希望您要发布的网站重定向吗?当您成功登录时,大多数登录页面会将您重定向到经过身份验证的主页。话虽如此,如果重定向正在改变您所在页面的外观,那么听起来您没有正确处理 cURL 响应.正如马里奥所说,代码会有所帮助
-
@mario 和 wolv2012 - 编辑了帖子以使其更有意义。
-
如果通过 cURL 发起的 POST 请求遇到 HTTP 重定向,则 cURL API 不会神奇地将其传输到正在运行的 PHP 脚本响应标头中。您对事件的描述与显示的代码不匹配。