PHP cUrl添加随机字符,删除最后一个

时间:2015-08-19 10:12:47

标签: php curl formatting response

我们有4台运行相同API的服务器。当我尝试使用PHP(5.4.12)cUrl(7.29.0)在每台服务器上调用相同的服务时,只有其中一个特别能给我预期的响应,无论它被调用的时间如何:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><temporaryToken><token>1EDBABA96F1E98E2165571AAF5239808</token></temporaryToken></response>

另外三个人有一些奇怪的行为;返回的响应在开头获得一个随机字符,并看到它的最后一个字符被删除:

ã<?xml version="1.0" encoding="UTF-8" standalone="yes"?><response><temporaryToken><token>B319990DE262D75DD3E6B455741BB1C7</token></temporaryToken></response

这个第一个字符可能是任何东西(拉丁语字母,区域特定或隐形字母),并且在每次调用时都不一样。似乎只有这个特定的服务有这种行为,因为其他的都返回一个可读的响应。

cUrl选项如下:

curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, $this->aHeader);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $this->iTimeoutRequest);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $this->iTimeoutRequest);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

我是否触发了这种奇怪现象,或者我们可能错过的服务器之间是否存在差异?

0 个答案:

没有答案