Example #1
0
 public static function getResponseCode($url)
 {
     $client = new HTTP_Client();
     $client->setRequestParameter('timeout', $timeout);
     $client->setDefaultHeader('User-Agent', 'Monazilla/1.00');
     if (!empty($_conf['proxy_use'])) {
         $client->setRequestParameter('proxy_host', $_conf['proxy_host']);
         $client->setRequestParameter('proxy_port', $_conf['proxy_port']);
     }
     return $client->head($url);
 }
Example #2
0
// 画像がエラーログにあるか確認
if (!$force && $ini['Getter']['checkerror']) {
    $errlog = new IC2_DataObject_Errors();
    if ($errlog->get($uri)) {
        ic2_error($errlog->errcode, '', false);
    }
}
// }}}
// {{{ init http-client
// 設定を確認
$conn_timeout = isset($ini['Getter']['conn_timeout']) && $ini['Getter']['conn_timeout'] > 0 ? (double) $ini['Getter']['conn_timeout'] : 60.0;
$read_timeout = isset($ini['Getter']['read_timeout']) && $ini['Getter']['read_timeout'] > 0 ? (int) $ini['Getter']['read_timeout'] : 60;
$ic2_ua = !empty($_conf['expack.user_agent']) ? $_conf['expack.user_agent'] : $_SERVER['HTTP_USER_AGENT'];
// キャッシュされていなければ、取得を試みる
$client = new HTTP_Client();
$client->setRequestParameter('timeout', $conn_timeout);
$client->setRequestParameter('readTimeout', array($read_timeout, 0));
$client->setMaxRedirects(3);
$client->setDefaultHeader('User-Agent', $ic2_ua);
if ($force && $time) {
    $client->setDefaultHeader('If-Modified-Since', http_date($time));
}
// プロキシ設定
if ($ini['Proxy']['enabled'] && $ini['Proxy']['host'] && $ini['Proxy']['port']) {
    $client->setRequestParameter('proxy_host', $ini['Proxy']['host']);
    $client->setRequestParameter('proxy_port', $ini['Proxy']['port']);
    if ($ini['Proxy']['user']) {
        $client->setRequestParameter('proxy_user', $ini['Proxy']['user']);
        $client->setRequestParameter('proxy_pass', $ini['Proxy']['pass']);
        $proxy_auth_data = base64_encode($ini['Proxy']['user'] . ':' . $ini['Proxy']['pass']);
        $client->setDefaultHeader('Proxy-Authorization', 'Basic ' . $proxy_auth_data);
 private function _request($url, $xml)
 {
     $headers = array("Accept" => "application/xml", "Content-Type" => "application/xml");
     $c = new HTTP_Client(null, $headers);
     $c->setRequestParameter(array("user" => $this->login, "pass" => $this->password));
     $ret = $c->post($url, $xml, TRUE);
     switch ($ret) {
         case 200:
             // ok
             break;
         case 401:
             throw new PAException(USER_INVALID_PASSWORD, "Login incorrect");
         case 403:
             throw new PAException(USER_ACCESS_DENIED, "Access denied");
         default:
             throw new PAException(GENERAL_SOME_ERROR, "BaseCamp API returned HTTP error code {$ret}");
     }
     $r = $c->currentResponse();
     //        echo "did http request to $url with data "; var_dump($xml); echo ", returned $ret.<br>";
     $xmlret = $r["body"];
     //        echo "xml response: <pre>".htmlspecialchars($xmlret)."</pre>";
     return simplexml_load_string($xmlret);
 }