【问题标题】:Variable disappearing after adding text添加文本后变量消失
【发布时间】:2016-06-21 22:41:03
【问题描述】:

我正在对网站登录的 cURL 发布请求进行编码,以检索令牌。该脚本旨在远程登录,通过 preg_match 获取令牌,然后使用 preg_matched 令牌向另一个 url 发送 GET 请求。

令牌以字符串的形式出现,例如ABCDEFGHIJK。在第二个GET请求中,token被授权为:Authorization Bearer: ABCDEFGHIJK

但是,在从第一个 post 请求中获取 token 并添加 Authorization Bearer 字样后,该 token 就消失了。

<?php
//Login in Remotely
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'URL');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST,           1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,     'POST DATA' ); 
curl_setopt($ch, CURLOPT_HTTPHEADER,     array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // On dev server only!
$result = curl_exec($ch);
curl_close($ch);

//Parse Token
preg_match('#"phoenixAccessToken":"(.*)","phoenixExpiresIn#',$result,$matches);
echo $matches[1]; //This returns ABCDEFGHIJK

//Write authorization (Token returns a 0 now.)
$authorization = 'Authorization Bearer: ' & $matches[1];
echo $authorization; //This returns a 0
?>

echo $matches[1] 返回所需的令牌非常好,但运行 echo 'Authorization Bearer: ' & $matches[1];返回 0 而不是授权承载:ABCDEFGHIJK。

为什么会这样?反正有没有修复变量,所以它是静态的?

谢谢!

【问题讨论】:

  • 你应该使用“.”连接 $authorization 变量的字符串时,而不是 "&"。
  • Omgosh 不敢相信我什至没有做对 :(。感谢您的帮助!

标签: php curl


【解决方案1】:

使用 .代替 &。

。只需添加它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 2022-07-31
    • 2021-01-12
    • 2013-11-15
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 1970-01-01
    相关资源
    最近更新 更多