1. <rp id="c4hsd"></rp>
          1. <button id="c4hsd"><acronym id="c4hsd"><input id="c4hsd"></input></acronym></button>
          2. <tbody id="c4hsd"></tbody>

            <dd id="c4hsd"><pre id="c4hsd"></pre></dd>

              1. <th id="c4hsd"></th>
              2. <s id="c4hsd"><object id="c4hsd"></object></s>

                    [ 登錄 ] - [ 注冊 ] | 代碼示例DEMO | IP測試視頻 |

                    PHP CURL跳過HTTPS中SSL證書方案

                    作者:數據無憂   時間:2020-09-18 13:24:53
                    function get($url = '', $cookie = '')
                    {
                      $ch = curl_init();
                      curl_setopt($ch, CURLOPT_URL, $url);
                      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //將curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
                      curl_setopt($ch, CURLOPT_HEADER, 0);
                      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 對認證證書來源的檢查
                      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 從證書中檢查SSL加密算法是否存在
                      curl_setopt($ch, CURLOPT_SSLVERSION, 2);//設置SSL協議版本號
                      if($cookie){
                          curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
                          curl_setopt ($ch, CURLOPT_REFERER,'https://wx.qq.com');
                        }
                      curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
                      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                      $output = curl_exec($ch);
                      if ( curl_errno($ch) )
                        return curl_error($ch);
                      curl_close($ch);
                      return $output;
                    }

                    上面方法是用戶curl發起https請求的功能,CURLOPT_SSLVERSION項是規定ssl協議版本的,網上的代碼很多都說可以設置成1/2/3但是我測試的結果如下:

                    設置成1時在php 5.2.11版本中會有如下報錯: 
                    ???? “error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)” 
                    ????此處報錯的原因是你的php中openssl的版本過低解決辦法是升級你的php到5.3.60(具體是高于哪個版本我沒有測試,應該只要openssl版本大于0.9.8版本就可以的)

                    設置成2時會有如下報錯: 
                    ????Linux環境報錯:”SSL version range is not valid.” 
                    ????Windows環境報錯:”OpenSSL was built without SSLv2 support” 
                    ????這個應該比較容易理解就是SSL協議的版本號已經無效

                    設置成3時會有如下報錯: 
                    ????Linux環境報錯:”Encountered end of file”. 
                    ????Windows環境報錯:”Unknown SSL protocol error in connection to login.wx.qq.com:443 ” 
                    ????出現這個錯誤的原因網上查資料之后我認為是由于SSLV2和SSLV3存在安全漏洞所以微信已經不再使用SSLV2和SSLV3協議版本,所以我們設置成3時會出現錯誤。

                    無憂代理IP(www.aooseo.com)原創文章,轉載請注明出處。

                    電話:4007-745-096
                    QQ:
                    周一至周日8:30-18:00 技術部電話熱線
                    久久夜色精品国产噜噜亚洲AV_老妇女性较大毛片_888亚洲欧美国产va在线播放_超碰人人透人人爽人人看