http_get

(PECL)

http_get -- GET リクエストを実行する

説明

string http_get ( [string url [, array options [, array &info]]] )

指定した url に対して HTTP GET リクエストを実行します。

二番目のパラメータが設定されている場合、 その連想配列では以下のオプションが使用できます。

表 1. HTTP リクエストオプション

名前説明
redirectintリダイレクトを何段階まで追いかけるか。
unrestrictedauthbool異なるホストへのリダイレクトの際に認証情報を送り続けるかどうか。
proxyhoststring"host[:port]" 形式で指定するプロキシホスト。
proxyportintproxyhost で指定したものとは異なるプロキシポートを指定します。
proxytypeintHTTP_PROXY_HTTPHTTP_PROXY_SOCKS4 あるいは HTTP_PROXY_SOCKS5
proxyauthstring"user:pass" 形式のプロキシ認証情報。
proxyauthtypeintHTTP_AUTH_BASIC あるいは HTTP_AUTH_NTLM
httpauthstring"user:pass" 形式の http 認証情報。
httpauthtypeintHTTP_AUTH_BASICHTTP_AUTH_DIGEST あるいは HTTP_AUTH_NTLM
compressboolgzip/deflate エンコーディングを許可するかどうか。
portinturl で指定したものとは別のポートを使用します。
refererstring送信するリファラ。
useragentstring送信するユーザエージェント (デフォルトは PECL::HTTP/version (PHP/version))。
headersarray独自のヘッダの一覧を array("header" => "value") 形式の連想配列で指定します。
cookiesarrayクッキーの一覧を array("cookie" => "value") 形式の連想配列で指定します。
encodecookiesboolクッキーを urlencode するかどうか (デフォルト: true)。
cookiestorestringクッキーを保存するファイルへのパス。
cookiesessionboolTRUE にすると、cookiestore からセッションクッキーを読み込みません。
resumeintダウンロードを開始するバイトオフセット。サーバが range をサポートしている場合に使用します。
rangearray配列の配列で、中にはふたつの整数値が含まれ、ダウンロードする範囲を指定します。サーバがサポートしている場合にのみ有効で、resume が設定されていない場合にのみ使用されます。
maxfilesizeintダウンロードするファイルサイズの最大値。リクエストされたエンティティのサイズがどうであるかには影響を及ぼしません。
lastmodifiedintIf-(Un)Modified-Since ヘッダ用のタイムスタンプ。
etagstringIf-(None-)Match ヘッダ用の、クォートされた文字列。
timeoutintリクエストが受け取る秒数。
connecttimeoutint接続が受け取る秒数。
onprogressmixed進捗状況のコールバック。
interfacestring送り出すネットワークインターフェイス (インターフェイス名、IP あるいはホスト名)。
portrangearray送信を試みるポートの範囲を、ふたつの整数で指定します。
sslarray

表 2. 以下のオプションを指定します

名前説明
certstring証明書へのパス。
certtypestring証明書の型。
certpasswdstring証明書のパスワード。
keystringキーへのパス。
keytypestringキーの型。
keypasswdstringキーのパスワード。
enginestring使用する ssl エンジン。
versionint使用する ssl のバージョン。
verifypeerbool相手を検証するかどうか。
verifyhostboolホストを検証するかどうか。
cipher_liststring使用できる暗号の一覧。
cainfostring 
capathstring 
random_filestring 
egdsocketstring 

パラメータ

url

URL。

options

HTTP リクエストオプション

info

リクエスト/レスポンスの情報が格納されます。

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

返り値

成功した場合は HTTP レスポンスを文字列で、失敗した場合は FALSE を返します。