PHP Curl

    /**
     * curlGet
     * @param $url
     * @param string $extra_header
     * @param int $connect_timeout_ms
     * @param int $timeout_ms
     * @return mixed
     */
    public function executeGet($url, $extra_header = '', $connect_timeout_ms = 10000, $timeout_ms = 10000)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $connect_timeout_ms);
        curl_setopt($curl, CURLOPT_TIMEOUT, $timeout_ms);
        curl_setopt($curl,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/
       537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
        $headers = array();
        if (!empty($extra_header)) {
            array_push($headers, 'Content-Type: application/json; charset=utf-8');
            array_push($headers, $extra_header);
            curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        }
        curl_exec($curl);
        $output = curl_getinfo($curl);
        curl_close($curl);
        return $output;
    }


    /**
     * urlPost
     * @param $url
     * @param string $extra_header
     * @param int $connect_timeout_ms
     * @param int $timeout_ms
     * @return mixed
     */
    public function executePost($url ,$extra_header = '', $connect_timeout_ms = 10000, $timeout_ms = 10000)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT_MS, $connect_timeout_ms);
        curl_setopt($curl, CURLOPT_TIMEOUT, $timeout_ms);
        curl_setopt($curl,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/
       537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36");
        $post_string = isset($GLOBALS['HTTP_RAW_POST_DATA']) ?
            json_decode(self::safe_urldecode(str_replace('data=', '', $GLOBALS['HTTP_RAW_POST_DATA'])), true) : [];
        empty($res) && !empty($_POST) && $post_string = $_POST;
        if (is_array($post_string)) {
            $post_string = json_encode($post_string, JSON_UNESCAPED_SLASHES);
        }
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post_string);
        $headers = array();
        array_push($headers, 'Content-Type: application/json; charset=utf-8');
        array_push($headers, 'Content-Length: ' . strlen($post_string));
        if (!empty($extra_header)) {
            array_push($headers, $extra_header);
        }
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
        curl_exec($curl);
        $output = curl_getinfo($curl);
        curl_close($curl);
        return $output;
    }

    /**
     * curl代理
     * @param $url 请求地址
     * @param $host 代理IP
     * @return mixed
     */
    public function generateLocalCache($url, $host)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER , array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));
        curl_setopt($ch, CURLOPT_PROXY , $host);
        curl_setopt($ch, CURLOPT_PROXYPORT, 80);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_exec($ch);
        $result = curl_getinfo($ch);

        return $result;
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值