質問

私は奇妙な問題に遭遇しました。

APIサービスを呼び出すためのいくつかの簡単な行Curlコードがあります。このコードは、Drupal(ブラウザーとCLIのPHPファイル)を実行するときに完全に正常に実行されますが、ファイルがDrupalに含まれている場合(Bootstrap後)、Deferentiallyで動作します。

通常の状態では、APIサービスによって返される結果には多くの結果がありますが、Drupal内で実行すると、1つの結果のみを返します。

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);
役に立ちましたか?

解決

答えは、Drupalが変化するということでした & クエリストリングで & そして、リモートAPIサービスは引数セパレーターのみを処理しました & そしてそうではありません &amp. 。したがって、当然のことながら、投稿データを分割すると、配列内の最初のパラメーターのみが正しくなりました。

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top