php curl 不返回头部,PHP curl没有返回所有响应

我试图在php中使用一个API(像往常一样)返回一个带有请求数据的大型json响应。

它的工作原理如下:

1)我必须使用我想要的数据发出一个帖子请求(以某种格式在这里不重要)然后,

2)访问另一个带有get参数的url,我从第一步的响应中获取该参数以获取实际数据。

问题是我尝试了curl()和get_file_contents()来获取json数据,但似乎我没有得到整个json。我从浏览器访问url并手动获取json并进行比较,看看两者是否匹配。

可能出现什么问题?

这是我的代码:

$tp = new TravelPayoutApi();

$req = $tp->request_one_way('en', 'Y', 1,0,0, 'BER', 'PAR', '2017-10-22');

//$req = $tp->requestRoundTrip('en', 'Y', 1,0,0, 'BER', 'PAR', '2017-10-22','2017-10-25');

echo "req =" . $req;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://api.travelpayouts.com/v1/flight_search"); // $apiURL = "http://api.travelpayouts.com/v1/flight_search";

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $req);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// $response = array();

// echo $response;

$response = curl_exec($ch);

curl_close($ch);

$response = json_decode($response, true);

$search_id = $response['search_id'];

echo $search_id;

这是获取我需要收集数据的参数的部分

以下是我努力获取并回应它们的信息:

$results = file_get_contents("http://api.travelpayouts.com/v1/flight_search_results?uuid=" . $search_id);

var_dump($results); // to see if this is really json

// $ch1 = curl_init();

// $resultsURL = "http://api.travelpayouts.com/v1/flight_search_results?uuid=" . $search_id;

// echo "This is the results URL:" . $resultsURL;

// curl_setopt($ch1, CURLOPT_URL, $resultsURL);

// curl_setopt($ch1, CURLOPT_RETURNTRANSFER,1);

// $results = curl_exec($ch1);

// $results = json_encode($results);

// curl_close($ch1);

我所尝试过的注释行和是不同的脚本。看看它们。

编辑:

好的,我尝试了原来的curl命令API (curl -v -H' Accept-Encoding:gzip,deflate,sdch' htttp://api.travelpayouts.com/v1/ flight_search_results?uuid = my_id_here --compressed),它就像一个魅力。但似乎我无法使用php curl。我总是把我的结果截断。我该怎么办?

我目前获得结果的代码是:

$ch1 = curl_init();

curl_setopt($ch1, CURLOPT_URL, $resultsURL);

curl_setopt($ch1, CURLOPT_HTTPHEADER, array('Accept-Encoding: gzip,deflate,sdch'));

curl_setopt($ch1, CURLOPT_ENCODING, 'gzip,deflate,sdch');

// curl_setopt($ch1, CURLOPT_CONNECTTIMEOUT, 0);

//curl_setopt($ch1, CURLOPT_TIMEOUT, 15); // number of seconds to allow curl to execute

$results = curl_exec($ch1);

echo($results);

curl_close($ch1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值