http_get

(PECL)

http_get -- Perform GET request

Description

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

Performs an HTTP GET request on the supplied url.

The second parameter, if set, is expected to be an associative array where the following options will be recognized:

Table 1. HTTP request options

NameTypeDescription
redirectintwhether and how many redirects to follow
unrestrictedauthboolwhether to continue sending credentials on redirects to a different host
proxyhoststringproxy host in "host[:port]" format
proxyportintuse another proxy port as specified in proxyhost
proxytypeintHTTP_PROXY_HTTP, HTTP_PROXY_SOCKS4 or HTTP_PROXY_SOCKS5
proxyauthstringproxy credentials in "user:pass" format
proxyauthtypeintHTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM
httpauthstringhttp credentials in "user:pass" format
httpauthtypeintHTTP_AUTH_BASIC, HTTP_AUTH_DIGEST and/or HTTP_AUTH_NTLM
compressboolwhether to allow gzip/deflate content encoding
portintuse another port as specified in the url
refererstringthe referer to send
useragentstringthe user agent to send (defaults to PECL::HTTP/version (PHP/version))
headersarraylist of custom headers as associative array like array("header" => "value")
cookiesarraylist of cookies as associative array like array("cookie" => "value")
encodecookiesboolwhether to urlencode the cookies (default: true)
cookiestorestringpath to a file where cookies are/will be stored
cookiesessionbooldon't load session cookies from cookiestore if TRUE
resumeintbyte offset to start the download from; if the server supports ranges
rangearrayarray of arrays, each containing two integers, specifying the ranges to download if server support is given; only recognized if the resume option is empty
maxfilesizeintmaximum file size that should be downloaded; has no effect, if the size of the requested entity is
lastmodifiedinttimestamp for If-(Un)Modified-Since header
etagstringquoted etag for If-(None-)Match header
timeoutintseconds the request may take
connecttimeoutintseconds the connect may take
onprogressmixedprogress callback
interfacestringoutgoing network interface (ifname, ip or hostname)
portrangearray2 integers specifying outgoing portrange to try
sslarray

Table 2. with the following options:

NameTypeDescription
certstringpath to certificate
certtypestringtype of certificate
certpasswdstringpassword for certificate
keystringpath to key
keytypestringtype of key
keypasswdstringpasword for key
enginestringssl engine to use
versionintssl version to use
verifypeerboolwhether to verify the peer
verifyhostboolwhether to verify the host
cipher_liststringlist of allowed ciphers
cainfostring 
capathstring 
random_filestring 
egdsocketstring 

Parameters

url

URL

options

HTTP request options

info

Will be filled with request/response information

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' => '',
)

Return Values

Returns the HTTP response(s) as string on success, or FALSE on failure.