我必须使用PHP中的curl来访问第三方API,但是不知何故使用curl会收到错误的响应,但是当我使用Postman
遇到相同的请求时,我会得到正确的结果。
多重卷曲
$this->curlArray[$id] = curl_init();
curl_setopt($this->curlArray[$id], CURLOPT_URL, "$url");
curl_setopt($this->curlArray[$id], CURLOPT_HEADER, 0);
curl_setopt($this->curlArray[$id], CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curlArray[$id], CURLOPT_ENCODING, 'gzip');
curl_setopt($this->curlArray[$id], CURLOPT_TIMEOUT, 30);
curl_setopt($this->curlArray[$id], CURLOPT_HTTPHEADER, $header);
curl_multi_add_handle($this->multi, $this->curlArray[$id]);
上面是多重卷曲,通过它我们可以满足请求。
使用相同的请求和相同的标头,我们使用邮递员进行攻击,我们将获得正确的响应。
如果有人遇到这个问题,请告诉我为什么得到这个
下面是样品请求以供比较:-
Postman Request Parameters and header
URL: XXXXXX.availability/vn52hfn4jwi5zhy?hotel_info=false&rates=false&hcode=H!0249886&bundled=true
Headers:
api-key:2f7ef83xyzxyzxyzxyzxyzxyzxyzxyz
Content-Type:application/json
Accept:application/json
Accept-Encoding:application/gzip
parameters:
hotelinfo:false
rates:false
hcode:O987b
CURL Request Paramters and Headers
URL:XXXXXX.availability/vn52hfn4jwi5zhy
parameters:{"hotelinfo":false,"rates":false,"hcode":"O987b"}
Headers : Array
(
[0] => Content-Type:application/json
[1] => Accept:application/json
[2] => Accept-Encoding:application/gzip
[3] => api-key:2f7ef83xyzxyzxyzxyzxyzxyzxyzxyz
)
)