コード例 #1
0
 public static function configureProxy($proxyHost, $proxyUser, $proxyPass)
 {
     $proxy = array('http' => array('proxy' => 'tcp://' . $proxyHost, 'request_fulluri' => true));
     if (!empty($proxyUser) && !empty($proxyPass)) {
         $auth = base64_encode($proxyUser . ":" . $proxyPass);
         $proxy['http']['header'] = "Proxy-Authorization: Basic {$auth}";
     }
     self::$context = stream_context_create($proxy);
 }
コード例 #2
0
 public static function configureProxy($proxyHost, $proxyUser, $proxyPass, $siteUser = "", $sitePass = "")
 {
     $contextData = array('http' => array());
     if (!empty($proxyHost)) {
         $contextData['http']['proxy'] = 'tcp://' . $proxyHost;
         // $proxy = array( 'http' => array( 'proxy' => 'tcp://'.$proxyHost, 'request_fulluri' => true ) );
         $contextData['http']['request_fulluri'] = true;
         $contextData['ssl']['SNI_enabled'] = false;
         if (!empty($proxyUser) && !empty($proxyPass)) {
             $auth = base64_encode($proxyUser . ":" . $proxyPass);
             $contextData['http']['header'] = "Proxy-Authorization: Basic {$auth}";
         }
     }
     if (!empty($siteUser) && !empty($sitePass)) {
         $headerString = "Authorization: Basic " . base64_encode("{$siteUser}:{$sitePass}");
         if (isset($contextData['http']['header'])) {
             $contextData['http']['header'] .= "; " . $headerString;
         } else {
             $contextData['http']['header'] = $headerString;
         }
     }
     self::$context = stream_context_create($contextData);
 }