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); }
// 画像がエラーログにあるか確認 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); }