PHPのcurl_setopt関数の定義と使用法

墨辰丷
リリース: 2023-03-31 15:40:02
オリジナル
1362 人が閲覧しました

この記事では主に、PHP でのcurl_setopt 関数の使用法を紹介し、curl_setopt 関数の機能、定義、目的、および関連する使用スキルをサンプルの形式で分析します。 it

この記事の例では、PHP でのcurl_setopt 関数の使用法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです。

curl_setopt 関数は、PHP の重要な関数であり、ユーザーのログイン、登録、その他のユーザー操作可能な動作の模倣など、一部のユーザーの動作を模倣できます。

bool curl_setopt (int ch, string option, mixed value)
ログイン後にコピー

curl_setopt() 関数は、CURL セッションのオプションを設定します。オプションパラメータは希望する設定であり、値はこのオプションで指定される値です
偽ログイン
メインステーションwapログインとdiscuzフォーラムwapログイン、両側のユーザーデータは同じテーブルで呼び出されます

//论坛api登录接口地址:
$uri = "http//yoursiteweb.com/"
//参数数组

$data = array(
'username' => 'username',
'password' => 'password',
);
//操作执行

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
ログイン後にコピー

2 日間のセッション ID 生成メカニズムを統合し、フォーラム wap ユーザー検証方法を変換します

ユーザー ログイン インスタンスを模倣します

function vcurl($url,$post='',$cookie='',$cookiejar='',$referer=''){
$tmpInfo = '';
$cookiepath = getcwd().'./'.$cookiejar;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
if($referer) {
curl_setopt($curl, CURLOPT_REFERER, $referer);
} else {
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
}
if($post) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
}
if($cookie) {
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
}
if($cookiejar) {
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiepath);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiepath);
}
//curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 100);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$tmpInfo = curl_exec($curl);
if (curl_errno($curl)) {
echo ' 错误:'.curl_error($curl); 
} 
curl_close($curl); 
return $tmpInfo; 
} 
?>
ログイン後にコピー

パラメーターの参照は次のとおりです:

次のオプションの値は長整数として使用されます (オプション パラメーターで指定):

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 リクエスト内の「リファラー」ヘッダーを含む文字列。
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 リクエストを実行する場合に便利です。

注: サーバーがコマンドをサポートしていることを確認する前にこれを実行しないでください。

次のオプションには、ファイルの説明 (fopen() 関数を使用して取得) が必要です:

CURLOPT_FILE: このファイルは送信した出力ファイルになります。デフォルトは STDOUT です。
CURLOPT_INFILE: このファイルは送信した入力ファイルになります。
CURLOPT_WRITEHEADER: このファイルには、出力のヘッダー部分が含まれます。
CURLOPT_STDERR: このファイルには、stderr の代わりにエラーが書き込まれています。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

php 画像のアップロードと JavaScript プラグインの使用

php と html5 の組み合わせwebsocket 通信の使用方法

php ファイルのアップロードに伴うファイルとフォームの操作とデータベース操作

以上がPHPのcurl_setopt関数の定義と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!