Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何执行http请求传递cookies并将结果保存为字符串_Php_Http_Cookies_Session Cookies - Fatal编程技术网

PHP如何执行http请求传递cookies并将结果保存为字符串

PHP如何执行http请求传递cookies并将结果保存为字符串,php,http,cookies,session-cookies,Php,Http,Cookies,Session Cookies,我想执行一个http请求,并将当前脚本接收到的所有cookie(特别是识别cookie的会话)传递给该请求。然后我想将结果保存在一个字符串中,以便进一步操作。在PHP中实现这一点的最佳方法是什么它很简单,支持饼干 编辑19.1-以下是示例 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_se

我想执行一个http请求,并将当前脚本接收到的所有cookie(特别是识别cookie的会话)传递给该请求。然后我想将结果保存在一个字符串中,以便进一步操作。在PHP中实现这一点的最佳方法是什么它很简单,支持饼干

编辑19.1-以下是示例

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); $output = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,”http://www.example.com/"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_COOKIEJAR,'/tmp/cookies.txt'); curl_setopt($ch,CURLOPT_COOKIEFILE,'/tmp/cookies.txt'); $output=curl\u exec($ch); $info=curl\u getinfo($ch); 卷曲关闭($ch); CURLOPT_COOKIEJAR是一个文件,其中cURL放置从服务器发送的cookies,CURLOPT_COOKIEFILE是一个包含cookies的文件,用于通过cURL发送(将其设置为同一个将使其成为cookies文件)

另一个选项是从结果中手动读取COOKIE(将CURLOPT_头设置为“1”-它将结果头放入$output)并通过CURLOPT_COOKIE发送COOKIE(将其设置为格式为“foo=bar;bar=foo;”的COOKIE列表)


注意-libcurl必须在php.ini中启用

Gordon的可能重复项的可能重复项-再举一个这样的例子,您可以说服我结束这个问题;)你能在这里提供一些传递Cookie和currenct脚本参数的源代码吗?这个库在标准PHP主机上可用吗?谢谢-看起来不错,顺便说一句-没有libcurl可以这样做吗?它不适用于ASP.NET会话Cookie。cURL没有捕获它们。@3您可以检查cookie是否真的被发送(使用CURLOPT_头)?例如,它们可能不被发送,也可能只是HTTPS