0

curlはいくつかの値を返すphpスクリプトに3つのウェブサイトを持っています

  • site1
  • site2
  • site3
  • siteMAIN

変数として含めずに、どのサイトがメインにカールしたかをどのように区別できますか。

site1から$_SERVERサイトメインにログオンしようとしましたが、含まれていませんcurl

HTTP_HOSTまたHTTP_REFERER

設定する方法はありますか?これが私のカールです

    curl_setopt(    $ch,    CURLOPT_URL,               $server_url              );
    curl_setopt(    $ch,    CURLOPT_POST,              0                        );
    curl_setopt(    $ch,    CURLOPT_AUTOREFERER,       true                   );
    curl_setopt(    $ch,    CURLOPT_POSTFIELDS,        $postValuesString        );
    curl_setopt(    $ch,    CURLOPT_HTTPHEADER,        array("Expect:")         );
    curl_setopt(    $ch,    CURLOPT_FAILONERROR,       1                        );
    curl_setopt(    $ch,    CURLOPT_HEADER,            false                        );
    curl_setopt(    $ch,    CURLOPT_RETURNTRANSFER,    1                        );
    curl_setopt(    $ch,    CURLOPT_SSL_VERIFYPEER,    false                    );
    curl_setopt(    $ch,    CURLOPT_SSL_VERIFYHOST,    false                    );
    curl_setopt(    $ch,    CURLOPT_TIMEOUT,           120                      );
    curl_setopt(    $ch,    CURLINFO_HEADER_OUT,       true                     );
    curl_setopt(    $ch,    CURLOPT_HTTP_VERSION,      CURL_HTTP_VERSION_1_1    );
4

1 に答える 1

1

CURLOPT_AUTOREFERER は、別の URL にリダイレクトするときにのみ設定されます。

Location: リダイレクトに続くリクエストで Referer: フィールドを自動的に設定する場合は TRUE。

参考までに: http://php.net/manual/en/function.curl-setopt.php

そのため、HTTP_REFERER ヘッダーを手動で明示的に設定する必要があります。

于 2012-12-28T05:38:22.677 に答える