WireHttp class

WireHttp enables you to send HTTP requests to URLs, download files, and more.

// Get an instance of WireHttp
$http = new WireHttp();
// Get the contents of a URL
$response = $http->get("http://domain.com/path/");
if($response !== false) {
  echo "Successful response: " . $sanitizer->entities($response);
} else {
  echo "HTTP request failed: " . $http->getError();
}

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the WireHttp class also inherits all the methods and properties of: Wire.

Show $var?             Show args?        

Common

NameReturnSummary 
$http->getError()
string arrayGet a string of the last error message 
$http->sendStatusHeader($status)
(nothing)Send an HTTP status header 

Advanced

NameReturnSummary 
$http->setData($data)
$thisSet an array of data, or string of raw data to send with next GET/POST/etc. request (overwriting the existing data or rawData) 
$http->setValidateURLOptions()
arraySet options array given to $sanitizer->url() 

HTTP requests

Request headers

NameReturnSummary 
$http->getHeaders()
arrayGet all currently set request headers in an associative array 
$http->getUserAgent()
stringGet the current user-agent header 
$http->setHeader(string $key, string $value)
$thisSend an individual request header to send with GET/POST/etc. request 
$http->setHeaders(array $headers)
$thisSet an array of request headers to send with GET/POST/etc. request 
$http->setUserAgent(string $userAgent)
(nothing)Set the current user-agent header 

Response headers

NameReturnSummary 
$http->getResponseHeader()
array string nullGet the last HTTP response headers (normal array). 
$http->getResponseHeaderValues()
array string nullGet last HTTP response headers with multi-value headers as arrays 
$http->getResponseHeaders()
array string nullGet the last HTTP response headers (associative array) 

HTTP codes

NameReturnSummary 
$http->getErrorCodes()
arrayReturn array of all possible HTTP error codes as (code => description) 
$http->getHttpCode()
int stringGet last HTTP code 
$http->getHttpCodes()
arrayReturn array of all possible HTTP codes as (code => description) 
$http->getSuccessCodes()
arrayReturn array of all possible HTTP success codes as (code => description) 

Settings

NameReturnSummary 
$http->getAllowSchemes()
arrayReturn array of allowed schemes 
$http->getTimeout()
floatGet the number of seconds till connection times out 
$http->setAllowSchemes($schemes)
$thisSet schemes WireHttp is allowed to access (default=[http, https]) 
$http->setTimeout($seconds)
$thisSet the number of seconds till connection times out 

Additional methods and properties

In addition to the methods and properties above, WireHttp also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.185

Twitter updates

  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021
  • This week we have a new master version released after a year in the making. With nearly 40 pull requests, hundreds of new additions and more than 100 issue reports resolved, this new version has a ton of great new stuff— More
    27 August 2021

Latest news

  • ProcessWire Weekly #388
    In the 388th issue of ProcessWire Weekly we'll check out the latest core update, introduce two new third party modules, and more. Read on!
    Weekly.pw / 16 October 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull