在PHP标题中发布值
我想从我的网站向远程网页发送一些数据。实际上,它可以通过形式隐藏变量来实现。但出于安全原因,我希望在标题中设置为post变量,然后发送到该网页。我使用这个代码在PHP标题中发布值,php,header,Php,Header,我想从我的网站向远程网页发送一些数据。实际上,它可以通过形式隐藏变量来实现。但出于安全原因,我希望在标题中设置为post变量,然后发送到该网页。我使用这个代码 $post_data = 'var1=123&var2=456'; $content_length = strlen($post_data); header('POST http://localhost/testing/test.php HTTP/1.1'); header('Host: localhost'); head
$post_data = 'var1=123&var2=456';
$content_length = strlen($post_data);
header('POST http://localhost/testing/test.php HTTP/1.1');
header('Host: localhost');
header('Connection: close');
header('Content-type: application/x-www-form-urlencoded');
header('Content-length: ' . $content_length);
header($post_data);
但是我的代码不能正常工作。
帮帮我…POST数据构成HTTP请求的主体,它不是头,头方法用于生成HTTP响应
从PHP使用curl库。您试图将请求标题放入应答。客户只是不知道该怎么处理 你想达到的目标是不可能的
你想完成的任务是什么?还有另一种方法。如果您试图将请求发布到远程服务器,则需要使用类似的工具。下面是一个例子:
// Create a curl handle to a non-existing location
$ch = curl_init('http://localhost/testing/test.php');
// Set options
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Execute
$page = curl_exec($ch);
或者,如果您确实想将数据放入标题中,可以使用如下方式设置自定义标题:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('field: value', 'field2: value') );
重定向文章标题的唯一方法是 307临时重定向
header('HTTP/1.1 307 Redirect');
header('Location: target.php', false, 307);
308永久重定向
header('HTTP/1.1 308 Redirect');
header('Location: target.php', false, 308);
!!!只有当重定向代码以这种方式设置了2次时,才能在PHP中工作!!!
如果你只做第二行。PHP进行了正常的302重定向
由于安全原因,如果客户端接受此重定向,则会从浏览器收到一条消息。实际上,我想将一些数据作为post数据发送到该网页。他们会验证我的数据。如果有效,他们将允许我访问他们的网站。或者他们会返回错误消息。@kumar谁是“我”?浏览器?我的网站包含付款部分。我想将客户详细信息传递到支付网关站点。所以我从db中获取用户详细信息,并在标题中设置为post变量。然后,我要求与我的用户详细信息的网页。若用户提供的数据是有效的,那个么用户可以进行支付处理。这就是过程。@kumar,这是不可能的。让用户自己处理支付网关。@kumar您不需要传递姓名或地址,只需传递订单ID即可。这就足够了。而且很安全。别傻了,开始阅读payment gateway的文档吧——他们已经涵盖了你的每一步行动already@AndrewLBarber请不要删除agian。这是一个正确的答案。通过这种方式,服务器让客户端/浏览器知道他已将帖子再次发送到另一个目标