PHP curlパラメータの詳細

5397 ワード

curl_setopt (PHP 4 >= 4.0.2) curl_setopt--CURL呼び出しのオプション記述bool curl_を設定します.setopt (int ch, string option, mixed value) curl_setopt()関数は、CURLセッションのオプションを設定します.optionパラメータはあなたが望む設定で、valueはこのオプションで与えられた値です.
次のオプションの値は、長い整形として使用されます(optionパラメータで指定されています):CURLOPT_INFILESIZE:リモートサイトにファイルをアップロードすると、PHPにファイルのサイズを教えます.CURLOPT_VERBOSE:CURLが意外なことを報告したい場合は、このオプションをゼロ以外の値に設定します.CURLOPT_HEADER:出力にヘッダを含める場合は、このオプションをゼロ以外の値に設定します.CURLOPT_NOPROGRESS:PHPがCURL転送にプロセスバーを表示しない場合は、このオプションをゼロ以外の値に設定します.注意:PHPはこのオプションをゼロ以外の値に自動的に設定します.このオプションを変更するのは、デバッグの目的だけです.CURLOPT_NOBODY:出力にbody部分を含めたくない場合は、このオプションをゼロ以外の値に設定します.CURLOPT_FAILONERROR:PHPがエラー(HTTPコード戻りが300以上)になったときに表示されないようにしたい場合は、このオプションをゼロ以外の値に設定します.デフォルトの動作は、コードを無視して通常のページを返すことです.CURLOPT_UPLOAD:PHPをアップロードの準備をしたい場合は、このオプションをゼロ以外の値に設定します.CURLOPT_POST:PHPで正規のHTTP POSTを作りたい場合は、このオプションをゼロ以外の値に設定します.このPOSTは通常のアプリケーション/x-www-from-urlencodedタイプであり、多くはHTMLフォームで使用されている.CURLOPT_FTPLISTONLY:このオプションをゼロ以外の値に設定すると、PHPはFTPのディレクトリ名リストをリストします.CURLOPT_FTPAPPEND:このオプションをゼロ以外の値に設定すると、PHPは上書きの代わりにリモートファイルを適用します.CURLOPT_NETRC:このオプションをゼロ以外の値に設定します.PHPはあなたの~./Netrcファイルでは、接続を確立するリモート・サイトのユーザー名とパスワードを検索します.CURLOPT_FOLLOWLOCATION:このオプションをゼロ以外の値('Location:')のヘッダに設定すると、サーバはHTTPヘッダの一部として送信します(再帰的であり、PHPは'Location:'のヘッダのように送信されます).CURLOPT_PUT:このオプションを0以外の値に設定して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:[username]:[password]スタイルの文字列を渡し、PHPで接続します.CURLOPT_PROXYUSERPWD:HTTPエージェントに接続するには、[username]:[password]形式の文字列を渡します.CURLOPT_RANGE:指定したい範囲を渡します.これは「X-Y」形式で、XまたはYは除外されます.HTTP転送は同様にいくつかの間隔をサポートし,逗句で区切る(X−Y,N−M).CURLOPT_POSTFILDS:HTTP「POST」として動作するすべてのデータを渡す文字列.CURLOPT_REFERER:HTTPリクエストに'referer'ヘッダの文字列が含まれています.CURLOPT_USERAGENT:HTTPリクエストに'user-agent'ヘッダを含む文字列.CURLOPT_FTPPORT:ftp'POST'コマンドによって使用されるIPアドレスを伝達する.このPOST命令はリモートサーバに私たちが指定したIPアドレスに接続するように伝えます.この文字列は、IPアドレス、ホスト名、ネットワークインタフェース名(UNIXの下)、または'-'(システムデフォルトのIPアドレスを使用)であってもよい.CURLOPT_COOKIE:HTTPクッキーを含むヘッダ接続を渡します.CURLOPT_SSLCERT:PEM形式の証明書を含む文字列を渡します.CURLOPT_SSLCERTPASSWD:CURLOPTを使用することを含むパスを渡すSSLCERT証明書に必要なパスワード.CURLOPT_COOKIFILE:クッキーデータを含むファイルの名前を渡す文字列.このクッキーファイルは、Netscape形式であってもよいし、ファイルに格納されたHTTPスタイルのヘッダであってもよい.CURLOPT_CUSTOMREQUEST:HTTPリクエストを行うと、GETまたはHEADによって1文字が渡されて使用される.DELETEまたは他の操作を行うために有益である、よりPass a string to be used instead of GET or HEAD when doing an HTTP request.This is useful for doing or another, more obscure, HTTP request. 注意:サーバーサポートコマンドを確認する前に、そうしないでください.
次のオプションでは、fopen()関数を使用して取得したファイルの説明が必要です.CURLOPT_FILE:このファイルは転送する出力ファイルを配置し、デフォルトはstdOUTです.CURLOPT_INFILE:このファイルはあなたが送ってきた入力ファイルです.CURLOPT_WRITEHEADER:このファイルにはあなたが出力したヘッダーが書かれています.CURLOPT_stdERR:このファイルにはstderrではなくエラーが書かれています.インスタンスコード:測定済み
 
  
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
@header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// always modified
@header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
@header("Cache-Control: 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 = $querystring . "SiteURL=" . $currentUrl;
if($querystring != '')
{
$url = $url . "?" . $querystring;
}
$ch = curl_init();
$timeout = 60; // set to zero for no timeout
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
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);
$handles = str_replace("infolist.aspx","/fenlei/index.html",$handles);
$handles = str_replace("unionlist.aspx","unionlist.html",$handles);
echo $handles;
?>