Ejemplo n.º 1
0
 function _setopts($hconn, $p)
 {
     curl_setopt($hconn, CURLOPT_USERAGENT, isset($p["ua"]) ? $p["ua"] : xurl::ua());
     curl_setopt($hconn, CURLOPT_RETURNTRANSFER, isset($p["result"]) ? $p["result"] : 1);
     curl_setopt($hconn, CURLOPT_FOLLOWLOCATION, 1);
     isset($p["ctimeout"]) ? curl_setopt($hconn, CURLOPT_CONNECTTIMEOUT, $p["ctimeout"]) : "";
     isset($p["timeout"]) ? curl_setopt($hconn, CURLOPT_TIMEOUT, $p["timeout"]) : "";
     isset($p["range"]) ? curl_setopt($hconn, CURLOPT_RANGE, $p["range"]) : "";
     isset($p["verbose"]) ? curl_setopt($hconn, CURLOPT_VERBOSE, $p["verbose"]) : "";
     isset($p["upload"]) ? curl_setopt($hconn, CURLOPT_UPLOAD, $p["upload"]) : "";
     isset($p["insize"]) ? curl_setopt($hconn, CURLOPT_INFILESIZE, $p["insize"]) : "";
     isset($p["infile"]) ? curl_setopt($hconn, CURLOPT_INFILE, $p["infile"]) : "";
     // Use proxy
     if (isset($p["pserver"]) && $p["pserver"] !== "") {
         curl_setopt($hconn, CURLOPT_PROXY, $p["pserver"]);
         isset($p["plogin"]) && $p["plogin"] !== "" ? curl_setopt($hconn, CURLOPT_PROXYUSERPWD, $p["plogin"]) : "";
         isset($p["ptype"]) ? curl_setopt($hconn, CURLOPT_PROXYTYPE, $p["ptype"] == "socks" ? CURLPROXY_SOCKS5 : CURLPROXY_HTTP) : "";
     }
     isset($p["login"]) && $p["login"] !== "" ? curl_setopt($hconn, CURLOPT_USERPWD, $p["login"]) : "";
     isset($p["referer"]) && $p["referer"] !== "" ? curl_setopt($hconn, CURLOPT_REFERER, $p["referer"]) : "";
     isset($p["headers"]) ? curl_setopt($hconn, CURLOPT_HTTPHEADER, $p["headers"]) : "";
     isset($p["file"]) ? curl_setopt($hconn, CURLOPT_FILE, $p["file"]) : "";
     isset($p["binary"]) ? curl_setopt($hconn, CURLOPT_BINARYTRANSFER, $p["binary"]) : "";
     isset($p["getheaders"]) ? curl_setopt($hconn, CURLOPT_HEADER, $p["getheaders"]) : "";
     if (isset($p["ssl"])) {
         if (sizeof($p["ssl"]) == 0) {
             curl_setopt($hconn, CURLOPT_SSL_VERIFYPEER, false);
         }
     }
     if (isset($p["cookies"])) {
         if (is_array($p["cookies"])) {
             foreach ($p["cookies"] as $v) {
                 curl_setopt($hconn, CURLOPT_COOKIE, is_array($v) ? xurl::query($v, ";") : $v);
             }
         } else {
             curl_setopt($hconn, CURLOPT_COOKIEFILE, $p["cookies"]);
             curl_setopt($hconn, CURLOPT_COOKIEJAR, $p["cookies"]);
         }
     }
     if (isset($p["post"])) {
         curl_setopt($hconn, CURLOPT_POST, true);
         curl_setopt($hconn, CURLOPT_POSTFIELDS, $p["post"]);
     }
 }