我一直在寻找解决办法,但没有找到。我有一个curl post请求,该请求返回一个url。url中有一个名为timestamp的参数。。它将×tamp转换为一个xtamp,就好像它将×编码为x(乘法)一样。我要阻止这一切的发生。我需要原始数据,但Curl正在返回
https://example.com?var=4134134341xtamp=1235341431341
字符串
当它应该返回时
https://example.com?var=4134134341×tamp=1235341431341
型
我需要解决这个问题,这样我就可以得到一个完整的URL。下面是我的代码:
//
$data = array(
'partnerId' => '2445584555550',
'customerId' => '091874314838'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.xyz.com/connect/v2/generate");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Accept: */*','Accept-Encoding : gzip', 'xyz-App-Key:2b152a934f248ec62584852e5997e93', 'Accept:application/json', 'xyz-App-Token:'.$tk));
$response = curl_exec($ch);
$response = json_decode($response, true);
//
echo $response;
echo "<pre>";print_r($response);
print_r($response['link']);
型
正如你所看到的,我已经尝试了几种不同的方式来回显它,但它仍然将我的×tamp转换为xtamp并破坏了我的URL。请帮忙,非常感谢。
1条答案
按热度按时间6ojccjat1#
curl
没有这样做,浏览器将URL中的×
解释为HTML实体×
,并将其呈现为×字符。为了避免这种情况,也为了防止XSS漏洞,在显示可能包含特殊字符的文本时,请始终使用
htmlspecialchars()
。字符串