PHPのcurlパラメータを徹底解説_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:06:44
オリジナル
978 人が閲覧しました

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是普通的 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: このファイルは、配置および送信された出力ファイルになります。 デフォルトは STDOUT です。あなたによる入力ファイル。
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 、 -cache なし、must-revalidate"); // HTTP/1.1
@header("Cache-Control: post-check=0, pre-check=0", false);
@header("Pragma: no-キャッシュ" );
@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(); // タイムアウトなしの場合は 0 に設定します。
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
//以下は置き換えです。サーバーの擬似静的設定と組み合わせることができます
$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);



http://www.bkjia.com/PHPjc/327599.html

www.bkjia.com

tru​​e
http://www.bkjia.com/PHPjc/327599.html

技術記事

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート