如何使用cookies从php发布?

如何使用cookies从php发布?,php,cookies,post,Php,Cookies,Post,如何使用php中的cookies发出post请求 我的php代码: <?php $time_start = microtime(true); $id=$_GET[id]; $data = http_build_query( array ('act' => 'load_friends_silent', 'al' => '1', 'gid'=>'0' ,'id'=>$id) ); $opts = array( 'http'=>array( 'he

如何使用php中的cookies发出post请求

我的php代码:

<?php
$time_start = microtime(true);
$id=$_GET[id];

$data = http_build_query( array ('act' => 'load_friends_silent', 'al' => '1', 'gid'=>'0' ,'id'=>$id) );


$opts = array(
  'http'=>array(
    'header'=>"Cookie:     something=asdaefefe",
'method'=>"POST",
'content' => $data
  )
);

$context = stream_context_create($opts);
print $context;
$contents = file_get_contents('http://vkontakte.ru/al_friends.php', false, $context);

$fil=fopen("./".$id."ne.txt","w");
echo '<br><br>'.$contents;

fputs($fil,$contents);    

fclose($fil);
chmod("./".$id."ne.txt", 0777);

$time_end = microtime(true);
$time = $time_end - $time_start;
echo "<br><br>execute time $time seconds\n";
?>

但是这段代码在服务器上不起作用;未发送cookie。

[编辑] 要使用PHP发布到用户无法导航到的页面,可以使用CURL:

在示例中,您将$fields设置为cookie值:

$fields = array(
    'lname' => urlencode($_COOKIE['last_name'] ),
    'fname' => urlencode($_COOKIE['first_name'] ),
    ...
);
[再次编辑] 根据您新发布的代码,看起来您正试图在要发布到的页面上创建cookie。首先,为其他网站创建cookie似乎是一个很大的安全风险,所以我99.9%确信这从来都不可能,也永远不会。其次,PHP不是浏览器,不能为其他站点存储cookie…因此,即使您的帖子创建了cookie,用户的浏览器也不会有cookie。您所能做的就是发布'something'=>urlencode('value'),然后您要发布到的页面必须在其端创建cookie。然而,由于PHP不是浏览器,所以无法保存cookies,因此这将是毫无意义的

如果您希望用户的浏览器有一个cookie,那么您需要使用jQuery的$.post之类的东西。使用jQuery的post()方法将使用用户的浏览器转到页面并发布数据。获取发布数据的页面可以在用户浏览器上创建cookie

[阅读这些]它们可能为您提供一些信息。这就是你想做的吗

听起来,CURL应该能够模仿浏览器的cookie功能……因此,您可能能够发送cookie数据,但正如我所说,您无法将用户设置为这些cookie或任何内容……因为我不确定您的目的,这使得回答更难:


读一下这篇文章,也许会有帮助

您的问题不清楚,请重新表述。我想用POST发送cookie。您是使用jQuery之类的工具来执行$.POST(),还是希望在用户与表单交互后将cookie值发布到下一页?PHP不能“POST”,表单可以post或JavaScript可以post…除非您打算使用CURL扩展或类似的东西。这就是你们要找的吗?对不起,我想说的是PHP不能“重定向”一个用户,也不能用重定向到我的知识发布数据。如果要重定向,必须将cookie值放入URL字符串中。要发布到用户无法导航到的页面,可以使用CURL。在我的编辑中,我链接到了上面的一个例子。POST发送参数和cookies。你说发送cookies作为参数。