WsdlToPhp\PackageGenerator\Generator\Utils::getContentFromUrlContextOptions PHP Method

getContentFromUrlContextOptions() public static method

public static getContentFromUrlContextOptions ( string $url, string $basicAuthLogin = null, string $basicAuthPassword = null, string $proxyHost = null, string $proxyPort = null, string $proxyLogin = null, string $proxyPassword = null, array $contextOptions = [] ) : string[]
$url string
$basicAuthLogin string
$basicAuthPassword string
$proxyHost string
$proxyPort string
$proxyLogin string
$proxyPassword string
$contextOptions array
return string[]
    public static function getContentFromUrlContextOptions($url, $basicAuthLogin = null, $basicAuthPassword = null, $proxyHost = null, $proxyPort = null, $proxyLogin = null, $proxyPassword = null, array $contextOptions = array())
    {
        $protocol = strpos($url, 'https://') !== false ? 'https' : 'http';
        $proxyOptions = $basicAuthOptions = array();
        if (!empty($basicAuthLogin) && !empty($basicAuthPassword)) {
            $basicAuthOptions = array($protocol => array('header' => array(sprintf('Authorization: Basic %s', base64_encode(sprintf('%s:%s', $basicAuthLogin, $basicAuthPassword))))));
        }
        if (!empty($proxyHost)) {
            $proxyOptions = array($protocol => array('proxy' => sprintf('tcp://%s%s', $proxyHost, empty($proxyPort) ? '' : sprintf(':%s', $proxyPort)), 'header' => array(sprintf('Proxy-Authorization: Basic %s', base64_encode(sprintf('%s:%s', $proxyLogin, $proxyPassword))))));
        }
        return array_merge_recursive($contextOptions, $proxyOptions, $basicAuthOptions);
    }

Usage Example

コード例 #1
0
 /**
  *
  */
 public function testGetContentFromUrlContextOptions()
 {
     $this->assertSame(array('ssl' => array('verify_peer' => true, 'ca_file' => basename(__FILE__), 'ca_path' => __DIR__), 'http' => array('proxy' => 'tcp://dns.proxy.com:4545', 'header' => array(sprintf('Proxy-Authorization: Basic %s', base64_encode('foo:bar')), sprintf('Authorization: Basic %s', base64_encode('foo:bar'))))), Utils::getContentFromUrlContextOptions('http://www.foo.com', 'foo', 'bar', 'dns.proxy.com', 4545, 'foo', 'bar', array('ssl' => array('verify_peer' => true, 'ca_file' => basename(__FILE__), 'ca_path' => __DIR__))));
 }