HttpBrowser
extends AbstractBrowser
in package
An implementation of a browser using the HttpClient component to make real HTTP requests.
Tags
Table of Contents
Properties
- $cookieJar : mixed
- $crawler : mixed
- $followMetaRefresh : mixed
- $followRedirects : mixed
- $history : mixed
- $insulated : mixed
- $internalRequest : mixed
- $internalResponse : mixed
- $redirect : mixed
- $request : mixed
- $response : mixed
- $server : mixed
- $client : mixed
- $isMainRequest : bool
- $maxRedirects : int
- $redirectCount : int
- $redirects : array<string|int, mixed>
Methods
- __construct() : mixed
- back() : Crawler
- Goes back in the browser history.
- click() : Crawler
- Clicks on a given link.
- clickLink() : Crawler
- Clicks the first link (or clickable image) that contains the given text.
- followMetaRefresh() : mixed
- Sets whether to automatically follow meta refresh redirects or not.
- followRedirect() : Crawler
- Follow redirects?
- followRedirects() : mixed
- Sets whether to automatically follow redirects or not.
- forward() : Crawler
- Goes forward in the browser history.
- getCookieJar() : CookieJar
- Returns the CookieJar instance.
- getCrawler() : Crawler
- Returns the current Crawler instance.
- getHistory() : History
- Returns the History instance.
- getInternalRequest() : Request
- Returns the current BrowserKit Request instance.
- getInternalResponse() : Response
- Returns the current BrowserKit Response instance.
- getMaxRedirects() : int
- Returns the maximum number of redirects that crawler can follow.
- getRequest() : object
- Returns the current origin Request instance.
- getResponse() : object
- Returns the current origin response instance.
- getServerParameter() : mixed
- Gets single server parameter for specified key.
- insulate() : mixed
- Sets the insulated flag.
- isFollowingRedirects() : bool
- Returns whether client automatically follows redirects or not.
- jsonRequest() : Crawler
- Converts the request parameters into a JSON string and uses it as request content.
- reload() : Crawler
- Reloads the current browser.
- request() : Crawler
- Calls a URI.
- restart() : mixed
- Restarts the client.
- setMaxRedirects() : mixed
- Sets the maximum number of redirects that crawler can follow.
- setServerParameter() : mixed
- Sets single server parameter.
- setServerParameters() : mixed
- Sets server parameters.
- submit() : Crawler
- Submits a form.
- submitForm() : Crawler
- Finds the first form that contains a button with the given content and uses it to submit the given form field values.
- xmlHttpRequest() : Crawler
- createCrawlerFromContent() : Crawler|null
- Creates a crawler.
- doRequest() : object
- Makes a request.
- doRequestInProcess() : object
- Makes a request in another process.
- filterRequest() : object
- Filters the BrowserKit request to the origin one.
- filterResponse() : Response
- Filters the origin response to the BrowserKit one.
- getAbsoluteUri() : string
- Takes a URI and converts it to absolute if it is not already absolute.
- getHeaders() : array<string|int, mixed>
- getScript() : mixed
- Returns the script to execute when the request must be insulated.
- requestFromRequest() : Crawler
- Makes a request from a Request object directly.
- extractHost() : string|null
- getBodyAndExtraHeaders() : array<string|int, mixed>
- getMetaRefreshUrl() : string|null
- getUploadedFiles() : array<string|int, mixed>
- Recursively go through the list. If the file has a tmp_name, convert it to a DataPart.
- updateServerFromUri() : array<string|int, mixed>
Properties
$cookieJar
protected
mixed
$cookieJar
$crawler
protected
mixed
$crawler
$followMetaRefresh
protected
mixed
$followMetaRefresh
= false
$followRedirects
protected
mixed
$followRedirects
= true
$history
protected
mixed
$history
$insulated
protected
mixed
$insulated
= false
$internalRequest
protected
mixed
$internalRequest
$internalResponse
protected
mixed
$internalResponse
$redirect
protected
mixed
$redirect
$request
protected
mixed
$request
$response
protected
mixed
$response
$server
protected
mixed
$server
= []
$client
private
mixed
$client
$isMainRequest
private
bool
$isMainRequest
= true
$maxRedirects
private
int
$maxRedirects
= -1
$redirectCount
private
int
$redirectCount
= 0
$redirects
private
array<string|int, mixed>
$redirects
= []
Methods
__construct()
public
__construct([HttpClientInterface $client = null ][, History $history = null ][, CookieJar $cookieJar = null ]) : mixed
Parameters
- $client : HttpClientInterface = null
- $history : History = null
- $cookieJar : CookieJar = null
back()
Goes back in the browser history.
public
back() : Crawler
Return values
Crawlerclick()
Clicks on a given link.
public
click(Link $link) : Crawler
Parameters
- $link : Link
Return values
CrawlerclickLink()
Clicks the first link (or clickable image) that contains the given text.
public
clickLink(string $linkText) : Crawler
Parameters
- $linkText : string
-
The text of the link or the alt attribute of the clickable image
Return values
CrawlerfollowMetaRefresh()
Sets whether to automatically follow meta refresh redirects or not.
public
followMetaRefresh([bool $followMetaRefresh = true ]) : mixed
Parameters
- $followMetaRefresh : bool = true
followRedirect()
Follow redirects?
public
followRedirect() : Crawler
Tags
Return values
CrawlerfollowRedirects()
Sets whether to automatically follow redirects or not.
public
followRedirects([bool $followRedirects = true ]) : mixed
Parameters
- $followRedirects : bool = true
forward()
Goes forward in the browser history.
public
forward() : Crawler
Return values
CrawlergetCookieJar()
Returns the CookieJar instance.
public
getCookieJar() : CookieJar
Return values
CookieJargetCrawler()
Returns the current Crawler instance.
public
getCrawler() : Crawler
Return values
CrawlergetHistory()
Returns the History instance.
public
getHistory() : History
Return values
HistorygetInternalRequest()
Returns the current BrowserKit Request instance.
public
getInternalRequest() : Request
Return values
RequestgetInternalResponse()
Returns the current BrowserKit Response instance.
public
getInternalResponse() : Response
Return values
ResponsegetMaxRedirects()
Returns the maximum number of redirects that crawler can follow.
public
getMaxRedirects() : int
Return values
intgetRequest()
Returns the current origin Request instance.
public
getRequest() : object
The origin request is the request instance that is sent to the code that handles requests.
Tags
Return values
objectgetResponse()
Returns the current origin response instance.
public
getResponse() : object
The origin response is the response instance that is returned by the code that handles requests.
Tags
Return values
objectgetServerParameter()
Gets single server parameter for specified key.
public
getServerParameter(string $key[, mixed $default = '' ]) : mixed
Parameters
- $key : string
- $default : mixed = ''
insulate()
Sets the insulated flag.
public
insulate([bool $insulated = true ]) : mixed
Parameters
- $insulated : bool = true
Tags
isFollowingRedirects()
Returns whether client automatically follows redirects or not.
public
isFollowingRedirects() : bool
Return values
booljsonRequest()
Converts the request parameters into a JSON string and uses it as request content.
public
jsonRequest(string $method, string $uri[, array<string|int, mixed> $parameters = [] ][, array<string|int, mixed> $server = [] ][, bool $changeHistory = true ]) : Crawler
Parameters
- $method : string
- $uri : string
- $parameters : array<string|int, mixed> = []
- $server : array<string|int, mixed> = []
- $changeHistory : bool = true
Return values
Crawlerreload()
Reloads the current browser.
public
reload() : Crawler
Return values
Crawlerrequest()
Calls a URI.
public
request(string $method, string $uri[, array<string|int, mixed> $parameters = [] ][, array<string|int, mixed> $files = [] ][, array<string|int, mixed> $server = [] ][, string $content = null ][, bool $changeHistory = true ]) : Crawler
Parameters
- $method : string
-
The request method
- $uri : string
-
The URI to fetch
- $parameters : array<string|int, mixed> = []
-
The Request parameters
- $files : array<string|int, mixed> = []
-
The files
- $server : array<string|int, mixed> = []
-
The server parameters (HTTP headers are referenced with an HTTP_ prefix as PHP does)
- $content : string = null
-
The raw body data
- $changeHistory : bool = true
-
Whether to update the history or not (only used internally for back(), forward(), and reload())
Return values
Crawlerrestart()
Restarts the client.
public
restart() : mixed
It flushes history and all cookies.
setMaxRedirects()
Sets the maximum number of redirects that crawler can follow.
public
setMaxRedirects(int $maxRedirects) : mixed
Parameters
- $maxRedirects : int
setServerParameter()
Sets single server parameter.
public
setServerParameter(string $key, string $value) : mixed
Parameters
- $key : string
- $value : string
setServerParameters()
Sets server parameters.
public
setServerParameters(array<string|int, mixed> $server) : mixed
Parameters
- $server : array<string|int, mixed>
submit()
Submits a form.
public
submit(Form $form[, array<string|int, mixed> $values = [] ][, array<string|int, mixed> $serverParameters = [] ]) : Crawler
Parameters
- $form : Form
- $values : array<string|int, mixed> = []
-
An array of form field values
- $serverParameters : array<string|int, mixed> = []
-
An array of server parameters
Return values
CrawlersubmitForm()
Finds the first form that contains a button with the given content and uses it to submit the given form field values.
public
submitForm(string $button[, array<string|int, mixed> $fieldValues = [] ][, string $method = 'POST' ][, array<string|int, mixed> $serverParameters = [] ]) : Crawler
Parameters
- $button : string
-
The text content, id, value or name of the form
- $fieldValues : array<string|int, mixed> = []
-
Use this syntax: ['my_form[name]' => '...', 'my_form[email]' => '...']
- $method : string = 'POST'
-
The HTTP method used to submit the form
- $serverParameters : array<string|int, mixed> = []
-
These values override the ones stored in $SERVER (HTTP headers must include an HTTP prefix as PHP does)
Return values
CrawlerxmlHttpRequest()
public
xmlHttpRequest(string $method, string $uri[, array<string|int, mixed> $parameters = [] ][, array<string|int, mixed> $files = [] ][, array<string|int, mixed> $server = [] ][, string $content = null ][, bool $changeHistory = true ]) : Crawler
Parameters
- $method : string
- $uri : string
- $parameters : array<string|int, mixed> = []
- $files : array<string|int, mixed> = []
- $server : array<string|int, mixed> = []
- $content : string = null
- $changeHistory : bool = true
Return values
CrawlercreateCrawlerFromContent()
Creates a crawler.
protected
createCrawlerFromContent(string $uri, string $content, string $type) : Crawler|null
This method returns null if the DomCrawler component is not available.
Parameters
- $uri : string
- $content : string
- $type : string
Return values
Crawler|nulldoRequest()
Makes a request.
protected
doRequest(Request $request) : object
Parameters
- $request : Request
Return values
objectdoRequestInProcess()
Makes a request in another process.
protected
doRequestInProcess(object $request) : object
Parameters
- $request : object
Tags
Return values
objectfilterRequest()
Filters the BrowserKit request to the origin one.
protected
filterRequest(Request $request) : object
Parameters
- $request : Request
Return values
objectfilterResponse()
Filters the origin response to the BrowserKit one.
protected
filterResponse(object $response) : Response
Parameters
- $response : object
Return values
ResponsegetAbsoluteUri()
Takes a URI and converts it to absolute if it is not already absolute.
protected
getAbsoluteUri(string $uri) : string
Parameters
- $uri : string
Return values
stringgetHeaders()
protected
getHeaders(Request $request) : array<string|int, mixed>
Parameters
- $request : Request
Return values
array<string|int, mixed>getScript()
Returns the script to execute when the request must be insulated.
protected
getScript(object $request) : mixed
Parameters
- $request : object
-
An origin request instance
Tags
requestFromRequest()
Makes a request from a Request object directly.
protected
requestFromRequest(Request $request[, bool $changeHistory = true ]) : Crawler
Parameters
- $request : Request
- $changeHistory : bool = true
-
Whether to update the history or not (only used internally for back(), forward(), and reload())
Return values
CrawlerextractHost()
private
extractHost(string $uri) : string|null
Parameters
- $uri : string
Return values
string|nullgetBodyAndExtraHeaders()
private
getBodyAndExtraHeaders(Request $request, array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
- $request : Request
- $headers : array<string|int, mixed>
Return values
array<string|int, mixed> —[$body, $headers]
getMetaRefreshUrl()
private
getMetaRefreshUrl() : string|null
Tags
Return values
string|nullgetUploadedFiles()
Recursively go through the list. If the file has a tmp_name, convert it to a DataPart.
private
getUploadedFiles(array<string|int, mixed> $files) : array<string|int, mixed>
Keep the original hierarchy.
Parameters
- $files : array<string|int, mixed>
Return values
array<string|int, mixed>updateServerFromUri()
private
updateServerFromUri(array<string|int, mixed> $server, string $uri) : array<string|int, mixed>
Parameters
- $server : array<string|int, mixed>
- $uri : string