Я столкнулся со странной проблемой.
У меня есть несколько простых строк кода CURL для вызова службы API.Этот код прекрасно работает при запуске Drupal (в php-файле в браузере и cli), но когда файл включен в Drupal (после начальной загрузки), он работает почтительно.
В нормальных условиях результатВозвращенный службой API имеет много результатов, но при запуске в Drupal он возвращает только один результат.
Я подозреваю, что Drupal изменяет настройку, используемую CURL, которая меняет понимание API вызова.
Кто-нибудь знает, чем может быть вызвана проблема?
Приведенный ниже код взят из наших файлов классов API, написанных в общей библиотеке.Мы планируем использовать их в будущем в других проектах PHP.
Вот код:
$params = array(
'domain' => array(
'www.domain1.com',
'www.domain2.info',
'www.domain3.in.th',
'www.domain4.com',
'www.domain5.in',
)
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'http://api.postrank.com/v2/domain/activity?appkey=123456&format=json',
CURLOPT_HEADER => false,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params)
));
$response = curl_exec($ch);
$err = curl_errno($ch);
curl_close($ch);
print_r($response);
ОБНОВЛЕНИЕ 1: выходные данные из CURLOPT_VERBOSE и curl_getinfo
Версия CLI:
* About to connect() to api.postrank.com port 80 (#0)
* Trying 75.101.138.238... * connected
* Connected to api.postrank.com (75.101.138.238) port 80 (#0)
> POST /v2/domain/activity?appkey=123456&format=json HTTP/1.1
Host: api.postrank.com
Accept: */*
Content-Length: 159
Content-Type: application/x-www-form-urlencoded
http://api.postrank.com/v2/domain/activity?appkey=123456&format=json
[content_type] => text/javascript
[http_code] => 200
[header_size] => 172
[request_size] => 355
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.968
[namelookup_time] => 0
[connect_time] => 0.437
[pretransfer_time] => 0.437
[size_upload] => 159
[size_download] => 998
[speed_download] => 1030
[speed_upload] => 164
[download_content_length] => 998
[upload_content_length] => 0
[starttransfer_time] => 0.968
[redirect_time] => 0
)
Drupal Версия:
* About to connect() to api.postrank.com port 80 (#0)
* Trying 75.101.138.238... * connected
* Connected to api.postrank.com (75.101.138.238) port 80 (#0)
> POST /v2/domain/activity?appkey=123456&format=json HTTP/1.1
Host: api.postrank.com
Accept: */*
Content-Length: 175
Content-Type: application/x-www-form-urlencoded
http://api.postrank.com/v2/domain/activity?appkey=123456&format=json
[content_type] => text/javascript
[http_code] => 200
[header_size] => 172
[request_size] => 371
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.905
[namelookup_time] => 0
[connect_time] => 0.437
[pretransfer_time] => 0.437
[size_upload] => 175
[size_download] => 126
[speed_download] => 139
[speed_upload] => 193
[download_content_length] => 126
[upload_content_length] => 0
[starttransfer_time] => 0.905
[redirect_time] => 0
)