zoukankan      html  css  js  c++  java
  • [转]php curl 设置host curl_setopt CURLOPT_HTTPHEADER 指定host

    From : http://digdeeply.org/archives/10132139.html

    我们在开发测试时,有时web服务器会绑定一个域名,但是因为dns是无法解析的,我们需要设置host文件去访问。
    但是,如果我们是需要通过curl访问的话,无法访问该url的host主机。所以,需要通过指定host的方式来访问,具体访问方式如下:
    如果是linux下的curl命令:

    Example
    1
    curl --silent -H "Host: www.digdeeply.info" "192.168.0.1/index.php"

    如果使用php的curl的话,使用curl_setopt设置一下CURLOPT_HTTPHEADER即可。
    请参考以下函数使用:

    Example
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //httpHeader    设置的 http head 参数 数组形式 如 array('Host: digdeeply.info')
    function curl_by_host($url,$postString='',$httpHeader='')
    {
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$postString);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
     
        if(!empty($httpHeader) && is_array($httpHeader))
        {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeader);
        }
        $data = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);
        if(curl_errno($ch)){
            return $info;
        }
        return $data;
    }
     
  • 相关阅读:

    泛型
    特性
    2.Linux基础入门
    1.Linux介绍及系统安装
    php十七种设计模式适用场合总结
    转载zendframework 插件方式
    常用的Jquery代码片段,没事的时候研究一下
    Zend Framework1.9 模块化搭建
    PHP的设计模式总结命令链模式
  • 原文地址:https://www.cnblogs.com/Athrun/p/3951228.html
Copyright © 2011-2022 走看看