Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.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 Guzzle 6异步请求的身份验证返回空值_Php_Guzzle - Fatal编程技术网

Php Guzzle 6异步请求的身份验证返回空值

Php Guzzle 6异步请求的身份验证返回空值,php,guzzle,Php,Guzzle,我们需要从API URL获取实时数据。首先我们需要连接服务器,在本例中是$uri1,然后我们必须使用第二个URI(例如:$uri2),它将以JSON格式提供输出 我试图做到的是: $un = 'abc'; //username $pa = '123'; //password $base_uri = 'http://example.com:82/'; $uri1 = 'api/instant/connectopc'; $uri2 = 'api/instant/displaydata?site=

我们需要从API URL获取实时数据。首先我们需要连接服务器,在本例中是$uri1,然后我们必须使用第二个URI(例如:$uri2),它将以JSON格式提供输出

我试图做到的是:

$un = 'abc';  //username
$pa = '123';  //password
$base_uri = 'http://example.com:82/';
$uri1 = 'api/instant/connectopc';
$uri2 = 'api/instant/displaydata?site=SITE';

$cookieFile = 'jar.txt';
$cookieJar = new FileCookieJar($cookieFile, true);

$client = new Client([
        'base_uri' => $base_uri,
        'auth'=>[$un, $pa],
        'cookie'=>$cookieJar,
        'curl' => [

            CURLOPT_COOKIEJAR => 'jar.txt',

            CURLOPT_COOKIEFILE => 'jar.txt'
        ]

    ]);


$promises = [

        'connect' => $client->getAsync($uri1),
        'live'   => $client->getAsync($uri2)

    ];

    $results = Promise\unwrap($promises);

    dd($results);

    //$body = $results['live'];
输出

i) 首先,我们需要在这之后连接uri 1。 ii)uri 2将实时提供实时数据

两个URI都在连接,但第二个URI($uri2)的内容为空

任何帮助都将不胜感激

问候,, NKR

我找到了解决方案:

....
$connect = $client->get($uri1);    //<-----this will connect to server.

//Now for second URI, use JAR file to utilize the old cookie
//to ensure the URI is using previous authentication/session.

$live = $client->get($uri2, ['cookie'=>$cookieJar]);

dd($live);
。。。。
$connect=$client->get($uri1)//获取($uri2,['cookie'=>$cookieJar]);
dd(现场);
....
$connect = $client->get($uri1);    //<-----this will connect to server.

//Now for second URI, use JAR file to utilize the old cookie
//to ensure the URI is using previous authentication/session.

$live = $client->get($uri2, ['cookie'=>$cookieJar]);

dd($live);