curl_setopt
(PHP 4 >= 4.0.2)
curl_setopt -- CURL 呼び出しのオプションを設定します
Description
boolcurl_setopt (int ch、文字列オプション、混合値)
curl_setopt() 関数は、CURL セッションのオプションを設定します。 option パラメータは必要な設定であり、value はこのオプションで指定される値です。
次のオプションの値は、long 整数 (オプション パラメーターで指定) として使用されます:
CURLOPT_INFILESIZE: ファイルをリモート サイトにアップロードするとき、このオプションは PHP にファイルのサイズを指示します。アップロードしたファイル。
CURLOPT_VERBOSE: CURL にすべての予期しないイベントを報告させたい場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_HEADER: 出力にヘッダーを含める場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_NOPROGRESS: PHP で CURL 転送の進行状況バーを表示したくない場合は、このオプションをゼロ以外の値に設定します。
注: PHP はこのオプションをゼロ以外の値に自動的に設定します。このオプションはデバッグ目的でのみ変更してください。
CURLOPT_NOBODY: 出力に本文部分を含めたくない場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_FAILONERROR: エラーが発生した場合 (HTTP コードが 300 以上を返す場合)、PHP を表示しないようにするには、このオプションをゼロ以外の値に設定します。デフォルトの動作では、通常のページが返され、コードは無視されます。
CURLOPT_UPLOAD: PHP にアップロードの準備をさせたい場合は、このオプションをゼロ以外の値に設定します。
CURLOPT_POST: PHP で通常の HTTP POST を実行する場合は、このオプションをゼロ以外の値に設定します。この POST は通常の application/x-www-from-urlencoded タイプで、主に HTML フォームで使用されます。
CURLOPT_FTPLISTONLY: このオプションをゼロ以外の値に設定すると、PHP は FTP のディレクトリ名をリストします。
CURLOPT_FTPAPPEND: このオプションをゼロ以外の値に設定すると、PHP はリモート ファイルを上書きせずに適用します。
CURLOPT_NETRC: このオプションをゼロ以外の値に設定すると、PHP は ~./netrc ファイル内で接続先のリモート サイトのユーザー名とパスワードを検索します。
CURLOPT_FOLLOWLOCATION: このオプションをゼロ以外のヘッダー ('Location: ' など) に設定すると、サーバーはそれを HTTP ヘッダーの一部として送信します (これは再帰的であることに注意してください。PHP は 'Location: ' という形式のヘッダーを送信します) : ' 頭)。
CURLOPT_PUT: HTTP を使用してファイルをアップロードするには、このオプションをゼロ以外の値に設定します。このファイルをアップロードするには、CURLOPT_INFILE および CURLOPT_INFILESIZE オプションを設定する必要があります。
CURLOPT_MUTE: このオプションをゼロ以外の値に設定すると、PHP は CURL 関数に対して完全にサイレントになります。
CURLOPT_TIMEOUT: 最大秒数として長整数を設定します。
CURLOPT_LOW_SPEED_LIMIT: 送信されるバイト数を制御する長整数を設定します。
CURLOPT_LOW_SPEED_TIME: CURLOPT_LOW_SPEED_LIMIT で指定されたバイト数を送信する秒数を制御する長整数を設定します。
CURLOPT_RESUME_FROM: バイト オフセット アドレス (転送先の開始フォーム) を含む長いパラメータを渡します。
CURLOPT_SSLVERSION: SSL バージョンを含む長いパラメータを渡します。デフォルトでは、PHP は独自のハードワークを実行しますが、セキュリティを強化するには手動で設定する必要があります。
CURLOPT_TIMECONDITION: 長いパラメーターを渡して、CURLOPT_TIMEVALUE パラメーターの処理方法を指定します。このパラメータは TIMECOND_IFMODSINCE または TIMECOND_ISUNMODSINCE に設定できます。これはHTTPのみの場合です。
CURLOPT_TIMEVALUE: 1970 年 1 月 1 日から現在までの秒数を渡します。この時間は、CURLOPT_TIMEVALUE オプション、またはデフォルトの TIMECOND_IFMODSINCE によって指定された値として使用されます。
次のオプションの値は文字列として扱われます:
CURLOPT_URL: これは、PHP を使用して取得する URL アドレスです。このオプションは、curl_init() 関数を使用した初期化中に設定することもできます。
CURLOPT_USERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、PHP を使用して接続します。
CURLOPT_PROXYUSERPWD: [ユーザー名]:[パスワード] の形式で文字列を渡し、HTTP プロキシに接続します。
CURLOPT_RANGE: 指定したい範囲を渡します。 X または Y を除外した「X-Y」形式にする必要があります。 HTTP 転送では、カンマ (X-Y、N-M) で区切られた複数の間隔もサポートされます。
CURLOPT_POSTFIELDS: すべてのデータを含む文字列を HTTP "POST" 操作として渡します。
CURLOPT_REFERER: HTTP リクエストの「referer」ヘッダーを含む文字列。
CURLOPT_USERAGENT: HTTP リクエストの「user-agent」ヘッダーを含む文字列。
CURLOPT_FTPPORT: ftp 'POST' コマンドで使用される IP アドレスを含む IP アドレスを渡します。この POST 命令は、指定した IP アドレスに接続するようにリモート サーバーに指示します。 この文字列には、IP アドレス、ホスト名、ネットワーク インターフェイス名 (UNIX の場合)、または「-」 (システムのデフォルトの IP アドレスを使用) を指定できます。
CURLOPT_COOKIE: HTTP Cookie を含むヘッダー接続を渡します。
CURLOPT_SSLCERT: 証明書を含む文字列を PEM 形式で渡します。
CURLOPT_SSLCERTPASSWD: CURLOPT_SSLCERT 証明書を使用するために必要なパスワードを含むパスワードを渡します。
CURLOPT_COOKIEFILE: Cookie データを含むファイルの名前を含む文字列を渡します。この Cookie ファイルは、Netscape 形式であることも、ファイルに保存されている HTTP スタイルのヘッダーのスタックであることもできます。
CURLOPT_CUSTOMREQUEST: HTTP リクエストを行うときに、GET または HEAD で使用される文字を渡します。HTTP リクエストを実行するときに GET または HEAD の代わりに使用する文字列を渡します。これは、別のよりわかりにくい HTTP リクエストを実行する場合に便利です。
注: サーバーがコマンドをサポートしている場合は、まだこれを実行しないでください。 。
次のオプションには、ファイルの説明 (fopen() 関数を使用して取得) が必要です。
CURLOPT_FILE: このファイルは、転送を配置する出力ファイルになります。デフォルトは
CURLOPT_INFILE です。 : このファイル 送信した入力ファイルです。
CURLOPT_WRITEHEADER: このファイルには出力のヘッダー部分が含まれます。
CURLOPT_STDERR: このファイルには、stderr の代わりにエラーが書き込まれています。
コード例: テスト済み
コードをコピー コードは次のとおりです:
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 過去の日付
@header("Last-Modified: " . gmdate("D, d M Y H:i) :s ") . " GMT");
// 常に変更
@header("Cache-Control: no-store、no-cache、must-revalidate"); // HTTP/1.1
@header ("キャッシュ制御: post-check=0、pre-check=0"、false);
@header("Pragma: no-cache");
@header("content-type: text/ html; charset=utf-8");
$url = 'http://s.jb51.net';
$querystring = $_SERVER["QUERY_STRING"];
$currentUrl = $_SERVER['SERVER_NAME'];
if($querystring != '') $querystring = $querystring .
$querystring = "SiteURL=";
if($querystring != '')
{
$url = $url . "?"
$ch =curl_init( );
$timeout = 60; // タイムアウトなしの場合は 0 に設定します
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT, $timeout);
$handles =curl_exec($ch);
//以下はサーバーの擬似静的設定と組み合わせることができます
$handles = preg_replace(" /?page=([0 -9] )&categoryId=([0-9] )/i","/fenlei/category-$1-$2.html",$handles);
$handles = preg_replace(" /?categoryId=([0 -9] )/i","/fenlei/category--$1.html",$handles);
$handles = preg_replace("/?page=([0-9] )/i","/ fenlei/category-$1.html",$handles);
$handles = preg_replace("/infodetail.aspx?ID=([0-9] )/i","/fenlei /$1.html",$ ハンドル);
$handles = str_replace("infolist.aspx","/fenlei/index.html",$handles);
$handles = str_replace("unionlist.aspx" ,"unionlist.html", $handles);
echo $handles;