【问题标题】:Send $_POST with php and redirect the browser to the resulting page使用 php 发送 $_POST 并将浏览器重定向到结果页面
【发布时间】:2011-02-01 06:28:25
【问题描述】:

如何发送 $_POST 并进入发帖页面

我在努力

$rCurl = curl_init();
curl_setopt ($rCurl, CURLOPT_URL, SECUREURL.basename($_SERVER['PHP_SELF']));
curl_setopt ($rCurl, CURLOPT_TIMEOUT, 60);
curl_setopt ($rCurl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($rCurl, CURLOPT_RETURNTRANSFER, 0);
curl_setopt ($rCurl, CURLOPT_POSTFIELDS, $sPostData);
curl_setopt ($rCurl, CURLOPT_POST, 1);
//$sHtmlResult = curl_exec ($rCurl);
curl_exec ($rCurl);
curl_close($rCurl);

但是结果返回到页面并且没有任何重定向到目标页面的结果

如何发送 $_POST 数据并进入这样的发布页面

header("Location:".SECUREURL.basename($_SERVER['PHP_SELF'])."?".$sPostData); 

【问题讨论】:

  • 安德鲁没有接受他所问问题的任何答案。请注意,只有 7 个。
  • 抱歉,弹片上校,但我投了答案,我还需要做什么 - 我不明白
  • 哦..好的,接受

标签: php post curl header


【解决方案1】:

你的 $sPostData 是什么样的?

在 POST 之前,我使用以下代码为 CURL 编码数组。 $post 包含一个关联的 POST 字段数组。

foreach($post as $key=>$value) { 
  $postString  .= urlencode($key) . '=' . urlencode($value) . '&'; 
}
rtrim($postString,'&');

然后:

curl_setopt($ch, CURLOPT_POST, count($post));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);  

这个想法是 CURLOPT_POSTFIELDS 应该看起来像一个 GET 字符串和 URL 编码。

您可能还需要设置 CURLOPT_USERAGENT、CURLOPT_ENCODING、CURLOPT_HTTPHEADER。对于调试,您可以启用 CURLOPT_HEADER、CURLOPT_HEADER 和 CURLINFO_HEADER_OUT。

【讨论】:

  • 即使使用这样的例子 - 结果返回到第一页
【解决方案2】:

来自 PHP 的 HTTP POST,没有 cURL

你可以试试stream_context_create

$message = '成功' $opts = 数组( 'http'=>数组( '方法'=>“POST”, 'header'=>"接受语言:en\r\n", 'content' => http_build_query(array('status' => $message)) ) ); $context = stream_context_create($opts); /* 向 www.example.com 发送 http 请求 带有上面显示的附加标题并发布状态 */ $file = file_get_contents("http://www.example.com/", false, $http_options);

【讨论】:

    【解决方案3】:

    这个。是。不可能。

    我希望它足够清楚,可以阻止那些懒得阅读问题的人提供进一步的答案。

    【讨论】:

    • 令人惊奇的是,VBScript 在 2001 年可以做到的事情在 PHP 中是完全不可能的
    • 令人惊讶的是,人们不知道服务器和浏览器之间的区别。
    • VBScript 可以在服务器上运行。不知道你想表达什么观点。如何在服务器端 VBScript 中执行此操作:computerhope.com/forum/index.php?topic=126519.0
    • 所以你又是一个看不懂问题正文的人。为什么我不惊讶?
    • 我编辑了问题标题,特别是为你的人。
    猜你喜欢
    • 2015-06-03
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2020-02-24
    • 2013-01-23
    • 2010-11-01
    • 2016-10-18
    • 1970-01-01
    相关资源
    最近更新 更多