-
- /**
- * CURL カプセル化クラス
- * by bbs.it-home.org
- */
- class Curl_Class
- {
- function Curl_Class()
- {
- return true;
- }
-
- 関数execute($method, $url, $fields = '', $userAgent = '', $httpHeaders = '', $username = '', $password = '')
- {
- $ch = Curl_Class ::作成する();
- if (false === $ch)
- {
- false を返します。
- }
-
- if (is_string($url) && strlen($url))
- {
- $ret =curl_setopt($ch, CURLOPT_URL, $url);
- }
- else
- {
- false を返します。
- }
- //否か表示头部情報
- curl_setopt($ch, CURLOPT_HEADER, false);
- //
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- if ($username != '')
- {
- curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password); $method = strto lower($method);
- if ('post' == $method)
- {
- curl_setopt($ch, CURLOPT_POST, true);
- if (is_array($fields))
- {
- $sets = array();
- foreach ($fields AS $key => $val)
- {
- $sets[] = $key . '=' 。 urlencode($val);
- }
- $fields = implode('&',$sets);
- }
- curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
- }
- else if ('put' == $method)
- {
- curl_setopt($ch, CURLOPT_PUT, true);
- }
-
- //curl_setopt($ch, CURLOPT_PROGRESS, true);
- //curl_setopt($ch, CURLOPT_VERBOSE, true);
- //curl_setopt($ch, CURLOPT_MUTE, false);
- curl_setopt($ch, CURLOPT_TIMEOUT, 3);//curl 超時間秒数を設定します。たとえば、情報 POST を出力してから 3 秒後に自動終了が実行されます。 CURLOPT_USERAGENT、$userAgent);
- }
-
- if (is_array($httpHeaders))
- { // bbs.it-home.org
- curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders); $ret =curl_exec($ch);
-
- if (curl_errno($ch))
- {
- curl_close($ch);
- return array(curl_error($ch),curl_errno($ch));
- }
- else
- {
- curl_close($ch);
- if (!is_string($ret) || !strlen($ret))
- {
- return false;
- }
- $ret を返す;
- }
- }
-
- function post($url, $fields, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
- {
- $ret = Curl_Class::execute( 'POST'、$url、$fields、$userAgent、$httpHeaders、$username、$password);
- if (false === $ret)
- {
- false を返す;
- }
-
- if (is_array($ret))
- {
- false を返します。
- }
- $ret を返す;
- }
-
- function get($url, $userAgent = '', $httpHeaders = '', $username = '', $password = '')
- {
- $ret = Curl_Class::execute('GET', $ URL、''、$userAgent、$httpHeaders、$username、$password);
- if (false === $ret)
- {
- false を返す;
- }
-
- if (is_array($ret))
- {
- false を返します。
- }
- $ret を返す;
- }
-
- 関数 create()
- {
- $ch = null;
- if (!function_exists('curl_init'))
- {
- return false;
- }
- $ch =curl_init();
- if (!is_resource($ch))
- {
- false を返します。
- }
- $ch を返します。
- }
- }
-
-
- 复制代
-
-
-
-
-
-
-
|