この記事の主な内容は、curl を使用して HTTP リクエストをシミュレートすることです。一定の参考値があります。必要な友人は参照してください。お役に立てれば幸いです。 。
cURL の 正式な定義は次のとおりです: curl は URL 構文
を使用してデータを転送するためのコマンド ライン ツールです。つまり、 は次のように使用します。データを転送するためのコマンド ライン ツールの URL 構文ルール 。
PHP は、Daniel Stenberg が作成した libcurl ライブラリをサポートしています。このライブラリは、さまざまなサーバーに接続して通信し、さまざまなプロトコルを使用できます。 libcurl で現在サポートされているプロトコルには、http、https、ftp、gopher、telnet、dict、file、ldap などがあります。 libcurl は、HTTPS 証明書、HTTP POST、HTTP PUT、FTP アップロード (PHP の FTP 拡張機能を使用して完了することもできます)、HTTP フォームベースのアップロード、プロキシ、Cookie、ユーザー名とパスワードの認証もサポートしています。
図:
/** * get方式发送curl请求 * @param string $url 请求服务器地址 * @param array $header 请求头数据 * @param int $timeout 超时时间 * @return mixed * @author itbsl */ function curl_get($url, $header=[], $timeout=30) { //初始化curl $curl = curl_init(); //设置curl(请求的服务器地址) //参数1: curl资源 //参数2: 配置项名称 //参数3: 配置项的值 curl_setopt($curl, CURLOPT_URL, $url); //跳过安全证书验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 //设置获取的信息以文件流的形式返回,而不是直接输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //发出请求 $result = curl_exec($curl); //关闭curl资源 curl_close($curl); return $result; }
/** * post方式发送curl请求 * @param string $url 请求的服务器地址 * @param array $data 要发送的数据 * @param array $header 请求头数据 * @param int $timeout 超时时间 * @return mixed * @author itbsl<itbsl@foxmail.com> */ function curl_post($url, $data=[], $header=[], $timeout=30) { //初始化curl $curl = curl_init(); //设置curl(请求的服务器地址) //参数1: curl资源 //参数2: 配置项名称 //参数3: 配置项的值 curl_setopt($curl, CURLOPT_URL, $url); //跳过安全证书验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 //设置获取的信息以文件流的形式返回,而不是直接输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置请求方式为post请求 curl_setopt($curl, CURLOPT_POST, true); //设置post方式提交时携带的数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_TIMEOUT, $timeout); //发出请求 $result = curl_exec($curl); //关闭curl资源 curl_close($curl); return $result; }
関連チュートリアル: PHP ビデオ チュートリアル
以上がCURL シミュレーションの http リクエスト例の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。