0
我一直在努力解析https响应,以获取将来的https调用所需的令牌值。解析PHP中令牌的HTTPS响应时遇到问题
为了解析令牌出了JSON响应,我已经试过如下:
$doc = json_decode($response, true);
token = $doc["result"]["token"];
为了解析令牌了一个XML响应的,我已经试过如下:
$json = json_encode($response);
$token = json_decode($json,TRUE)['raw_body'];
在Python解析JSON的令牌所有我必须做的是以下几点:
token = json.loads(data.text)["result"]["token"]
如果我复制粘贴次令牌电子控制台输出成后来的HTTPS调用 它工作完全正常,所以我想,也许我可以“欺骗”了一点,捕捉控制台输出并使用它,所以我尝试了以下内容:
ob_start();
echo $token;
$test = ob_get_contents();
ob_end_clean();
echo $test;
但是,这也没有工作。接下来我想到的是,我的'解析'的结果有一些奇怪的字符,导致令牌在未来的https调用中失败。所以,我试过如下:
$token = preg_replace("/[^\w]+/", " ", $data['raw_body']);
这给了我一个有趣的回应: “XML版本1周0编码UTF-8的结果的xmlns [URL在这里]门户令牌7eae331326c9363c9cf47ef58c1d844422dabb0令牌结果”
所以我想我可以通过空格拆分字符串并取出令牌。但是,这也没有用。
在Python我完整的代码是这样的:
在PHP中,这是我有:
$data = array(
'apikey' => $this->api_key,
'format' => 'xml');
Unirest\Request::auth($this->username, $this->password, CURLAUTH_DIGEST);
$response = Unirest\Request::post(self::build_url("auth", "get-token")
// lots of comments of attempts below
任何想法?这是我第一周使用PHP,我完全失去了。
谢谢
可能重复的[在xml中获取特定节点?](https://stackoverflow.com/questions/35242420/get-specific-node-in-xml) – mickmackusa