Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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 标题的卷曲问题_Php_Curl_Http Headers_Libcurl - Fatal编程技术网

Php 标题的卷曲问题

Php 标题的卷曲问题,php,curl,http-headers,libcurl,Php,Curl,Http Headers,Libcurl,我在CURL上的头有问题,我的脚本有两个部分,第一部分是自动验证,第二部分是请求,第一部分工作正常,我得到了结果代码和一个id,在第二部分我用这个id设置了头并在头上发送,但是我得到了这个错误(

我在CURL上的头有问题,我的脚本有两个部分,第一部分是自动验证,第二部分是请求,第一部分工作正常,我得到了结果代码和一个id,在第二部分我用这个id设置了头并在头上发送,但是我得到了这个错误(
$postargs = array('username' => 'user', 'password' => 'pass', 'key' => '1234567890');
$postargs = json_encode($postargs);

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postargs);
curl_setopt($ch, CURLOPT_URL, "https://ws.com/login");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);

curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
$fh = fopen('curl_debug.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $fh);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);            
$response = curl_exec($ch);
$a = json_decode($response);
echo $a->result;
curl_close($ch);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ws.com/data");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("id : $a->result","dataRequest : name","Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01"));
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
$fh2 = fopen('curl_debug2.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $fh2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$response2 = curl_exec($ch); 
脚本中有什么错误?为什么标题(在本例中为id)不是按脚本显示,而是按ModifyHeaders显示


提前感谢。

在您刚刚关闭经过身份验证的curl连接并初始化一个新连接之后,第二个请求是GET请求。这是一个完全新的未经验证的请求。您没有像在文章中那样通过身份验证数组


看看这个:

在关闭经过身份验证的curl连接并初始化一个新连接之后,第二个请求是GET请求。这是一个完全新的未经验证的请求。您没有像在文章中那样通过身份验证数组


看看这个:

尝试添加CURLOPT_-COOKIEFILE和CURLOPT_-COOKIEJAR,并将其指向一个可写(通过脚本)文件。这将允许curl将会话cookie保存在其中。如果页面重定向到另一个页面,使用CURLOPT_FOLLOWLOCATION也是一个好主意。(并像Ray说的那样抛弃curl_close)尝试添加CURLOPT_COOKIEFILE和CURLOPT_COOKIEJAR,并将其指向一个可写(通过脚本)文件。这将允许curl将会话cookie保存在其中。如果页面重定向到另一个页面,使用CURLOPT_FOLLOWLOCATION也是一个好主意。(然后像雷说的那样甩掉卷发)很好,让我检查一下,谢谢你的回答!如果有用的话,我会让你们知道的!我编辑了脚本,删除了第一个curl\u close()和第二个curl\u ini(),但我面临着同样的问题,我现在正在查看curl\u multi。很好,让我检查一下,谢谢你的回答!如果有用的话,我会让你们知道的!我编辑了脚本,删除了第一个curl\u close()和第二个curl\u ini(),但我面临着同样的问题,我现在正在查看curl\u multi。