1. 程式人生 > 遊戲 >被漫畫耽誤的遊戲人 真島浩親自打造《伊甸星原》遊戲上線

被漫畫耽誤的遊戲人 真島浩親自打造《伊甸星原》遊戲上線

public function curl($url, $params = false, $ispost = 0)
{
    $httpInfo = array();
    //初始化
    $ch = curl_init();
    /*CURL_HTTP_VERSION_NONE (預設值,讓 cURL 自己判斷使用哪個版本),CURL_HTTP_VERSION_1_0 (強制使用 HTTP/1.0)或CURL_HTTP_VERSION_1_1 (強制使用 HTTP/1.1)。
    */
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
   
// 判斷php版本 如果5.6+ 則含有CURLFILE 這個類 ,如果5.6-則設定如下,為解決php不同版本的問題 if (class_exists('\CURLFile')) { curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); } else { if (defined('CURLOPT_SAFE_UPLOAD')) { curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); } } //在HTTP請求中包含一個"User-Agent: "頭的字串。
curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36' ); //嘗試連線等待的時間,以毫秒為單位。設定為0,則無限等待。 如果 libcurl 編譯時使用系統標準的名稱解析器( standard system name resolver),那部分的連線仍舊使用以秒計的超時解決方案,最小超時時間還是一秒鐘。 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
// 允許 cURL 函式執行的最長秒數。 curl_setopt($ch, CURLOPT_TIMEOUT, 60); //TRUE 將curl_exec()獲取的資訊以字串返回,而不是直接輸出。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //TRUE 時將會根據伺服器返回 HTTP 頭中的 "Location: " 重定向。(注意:這是遞迴的,"Location: " 傳送幾次就重定向幾次,除非設定了 CURLOPT_MAXREDIRS,限制最大重定向次數。)。 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); //FALSE 禁止 cURL 驗證對等證書(peer's certificate)。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //設定為 1 是檢查伺服器SSL證書中是否存在一個公用名(common name)。譯者注:公用名(Common Name)一般來講就是填寫你將要申請SSL證書的域名 (domain)或子域名(sub domain)。 設定成 2,會檢查公用名是否存在,並且是否與提供的主機名匹配。 0 為不檢查名稱。 在生產環境中,這個值應該是 2(預設值)。 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //設定編碼格式,為空表示支援所有格式的編碼 curl_setopt($ch, CURLOPT_ENCODING, ''); if ($ispost) { // TRUE 時會發送 POST 請求,型別為:application/x-www-form-urlencoded,是 HTML 表單提交時最常見的一種。 curl_setopt($ch, CURLOPT_POST, true); //全部資料使用HTTP協議中的 "POST" 操作來發送 curl_setopt($ch, CURLOPT_POSTFIELDS, $params); //需要獲取的 URL 地址,也可以在curl_init() 初始化會話的時候。 curl_setopt($ch, CURLOPT_URL, $url); } else { if ($params) { curl_setopt($ch, CURLOPT_URL, $url . '?' . $params); } else { curl_setopt($ch, CURLOPT_URL, $url); } } $response = curl_exec($ch); if ($response === FALSE) { //echo "cURL Error: " . curl_error($ch); return false; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $httpInfo = array_merge($httpInfo, curl_getinfo($ch)); curl_close($ch); return $response; }