我正在尝试在 php 中获取一些变量并将用户重定向到第三方站点,并将变量作为 post vars 发送。我知道使用 cookie 可能会更容易,但第三方已经设置为处理帖子。有人对如何做到这一点有任何建议吗?
问问题
1432 次
5 回答
2
您可以使用几种技术。一种是遍历 POST 变量并添加到表单并重新提交表单,可能使用 Javascript onLoad。
<html>
<body onload="document.forms[0].submit()">
<form action="new-location.php" method="post">
<?php foreach( $_POST as $key => $val ): ?>
<input type="hidden" name="<?php echo htmlSpecialChars( $key, ENT_COMPAT, 'UTF-8' ) ?>" value="<?php echo htmlSpecialChars( $val, ENT_COMPAT, 'UTF-8' ) ?>">
<?php endforeach; ?>
</form>
</body>
</html>
另一种选择是使用 PHP 和 cURL 并将数据发送到远程站点:
url_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
于 2012-07-24T19:25:42.807 回答
1
在 PHP 页面中,使用 cURL 打开到第三方网站的连接并使用此功能:
curl_setopt($Curl, CURLOPT_POST, 1);
curl_setopt($Curl, CURLOPT_POSTFIELDS, 'field1=allo&field2=fsdfsd');
第三方将收到带有真实 POST 请求的请求。您还可以从第三方网站阅读答案。
于 2012-07-24T19:24:47.630 回答
0
需要从用户浏览器发送帖子。一种常见的方法是使用一个中间页面,其中包含一个带有隐藏输入元素的表单,其中包含您要发布的变量,然后使用 Javascript 在加载时自动提交表单。
于 2012-07-24T19:24:33.167 回答
0
一些谷歌搜索表明,除了可怕的表单混乱之外,cURL 是要走的路。我不是专家,但这个链接http://www.electrictoolbox.com/php-curl-form-post/和 php cURL 参考应该会有所帮助。
于 2012-07-24T19:25:27.160 回答
0
信息不足,但也许您可以在 javascript (jQuery) 的帮助下使用表单发送它
<script>
$(function(){
$('#form').submit();
});
</script>
<form action="external.url/page.php" action="post" id="form">
<input type="hidden" name="variable" value="value" />
</form>
于 2012-07-24T19:27:13.857 回答