curl 微信接口獲取素材

curl常量設置
bool類型
CURLOPT_HEADER 是否顯將頭信息做爲數據流輸出 通常爲FALSE
CURLOPT_POST 默認是GET 須要POST時設置TURE 啓用時會變成post方式
CURLOPT_SSL_VERIFYPEER 禁用後禁止從服務端驗證 作爬蟲時通常禁用掉
CURLOPT_SSL_VERIFYHOST 禁用後禁止驗證SSL 作爬蟲時通常禁用掉
CURLOPT_RETURNTRANSFER 啓用後返回返回執行結果 通常要true
int類型
CURLOPT_CONNECTTIMEOUT 發起連接是訪問的時間 相似url訪問網址等待的時間 通常是0 就是不限制
CURLOPT_INFILESIZE 設置上傳文件大小限制 單位字節
CURLOPT_PORT 設置訪問的端口 默認爲80
CURLOPT_PROXYPORT 設置代理服務器訪問的端口 默認爲80
CURLOPT_TIMEOUT 設置最大訪問時間 通常120 單位秒

CURLFILES文件類
name 待上傳文件名稱 必填
mime 文件mime類型 選填 會自動解析
postname 上傳數據裏面的文件名稱 選填 會自動解析

API 相似於可遠程訪問的函數 有接受值和返回值
//獲取微信圖片function get_photo($token,$logo){    $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$token";    $data = array('buffer' => '@'.$logo);    $ch = curl_init();    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);//    curl_setopt ( $ch, CURLOPT_SAFE_UPLOAD, FALSE);    curl_setopt($ch, CURLOPT_URL, $url);    curl_setopt($ch, CURLOPT_POST, true );    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);    curl_setopt($ch, CURLOPT_HEADER, false);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    $return_data = curl_exec($ch);    curl_close($ch);    $return_data = json_decode($return_data,true);    return $return_data['url'];}//通用curlfunction curl_http($url, $params, $method = 'GET', $header = array(), $multi = false){    $opts = array(        CURLOPT_TIMEOUT        => 30,        CURLOPT_RETURNTRANSFER => 1,        CURLOPT_SSL_VERIFYPEER => false,        CURLOPT_SSL_VERIFYHOST => false,        CURLOPT_HTTPHEADER     => $header    );    /* 根據請求類型設置特定參數 */    switch(strtoupper($method)){        case 'GET':            $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);            break;        case 'POST':            //判斷是否傳輸文件            $params = $multi ? $params : http_build_query($params);            $opts[CURLOPT_URL] = $url;            $opts[CURLOPT_POST] = 1;            $opts[CURLOPT_POSTFIELDS] = $params;            break;        default:            throw new Exception('不支持的請求方式!');    }    /* 初始化並執行curl請求 */    $ch = curl_init();    curl_setopt_array($ch, $opts);    $data  = curl_exec($ch);    $error = curl_error($ch);    curl_close($ch);    if($error) throw new Exception('請求發生錯誤:' . $error);    return  $data;}
相關文章
相關標籤/搜索