Client
abstract class Client
Client simulates a browser.
To make the actual request, you need to implement the doRequest() method.
If you want to be able to run requests in their own process (insulated flag), you need to also implement the getScript() method.
Properties
| protected | $history | ||
| protected | $cookieJar | ||
| protected | $server | ||
| protected | $internalRequest | ||
| protected | $request | ||
| protected | $internalResponse | ||
| protected | $response | ||
| protected | $crawler | ||
| protected | $insulated | ||
| protected | $redirect | ||
| protected | $followRedirects |
Methods
| __construct(array $server = array(), History $history = null, CookieJar $cookieJar = null) | ||
| followRedirects(bool $followRedirect = true) Sets whether to automatically follow redirects or not. | ||
| bool | isFollowingRedirects() Returns whether client automatically follows redirects or not. | |
| setMaxRedirects(int $maxRedirects) Sets the maximum number of redirects that crawler can follow. | ||
| int | getMaxRedirects() Returns the maximum number of redirects that crawler can follow. | |
| insulate(bool $insulated = true) Sets the insulated flag. | ||
| setServerParameters(array $server) Sets server parameters. | ||
| setServerParameter(string $key, string $value) Sets single server parameter. | ||
| string | getServerParameter(string $key, string $default = '') Gets single server parameter for specified key. | |
| Crawler | xmlHttpRequest(string $method, string $uri, array $parameters = array(), array $files = array(), array $server = array(), string $content = null, bool $changeHistory = true) | |
| History | getHistory() Returns the History instance. | |
| CookieJar | getCookieJar() Returns the CookieJar instance. | |
| Crawler | getCrawler() Returns the current Crawler instance. | |
| Response | getInternalResponse() Returns the current BrowserKit Response instance. | |
| object | getResponse() Returns the current origin response instance. | |
| Request | getInternalRequest() Returns the current BrowserKit Request instance. | |
| object | getRequest() Returns the current origin Request instance. | |
| Crawler | click(Link $link) Clicks on a given link. | |
| Crawler | submit(Form $form, array $values = array()) Submits a form. | |
| Crawler | request(string $method, string $uri, array $parameters = array(), array $files = array(), array $server = array(), string $content = null, bool $changeHistory = true) Calls a URI. | |
| object | doRequestInProcess(object $request) Makes a request in another process. | |
| object | doRequest(object $request) Makes a request. | |
| getScript(object $request) Returns the script to execute when the request must be insulated. | ||
| object | filterRequest(Request $request) Filters the BrowserKit request to the origin one. | |
| Response | filterResponse(object $response) Filters the origin response to the BrowserKit one. | |
| Crawler|null | createCrawlerFromContent(string $uri, string $content, string $type) Creates a crawler. | |
| Crawler | back() Goes back in the browser history. | |
| Crawler | forward() Goes forward in the browser history. | |
| Crawler | reload() Reloads the current browser. | |
| Crawler | followRedirect() Follow redirects? | |
| restart() Restarts the client. | ||
| string | getAbsoluteUri(string $uri) Takes a URI and converts it to absolute if it is not already absolute. | |
| Crawler | requestFromRequest(Request $request, bool $changeHistory = true) Makes a request from a Request object directly. |
Details
__construct(array $server = array(), History $history = null, CookieJar $cookieJar = null)
Parameters
| array | $server | The server parameters (equivalent of $_SERVER) |
| History | $history | A History instance to store the browser history |
| CookieJar | $cookieJar | A CookieJar instance to store the cookies |
followRedirects(bool $followRedirect = true)
Sets whether to automatically follow redirects or not.
Parameters
| bool | $followRedirect | Whether to follow redirects |
bool isFollowingRedirects()
Returns whether client automatically follows redirects or not.
Return Value
| bool |
setMaxRedirects(int $maxRedirects)
Sets the maximum number of redirects that crawler can follow.
Parameters
| int | $maxRedirects |
int getMaxRedirects()
Returns the maximum number of redirects that crawler can follow.
Return Value
| int |
insulate(bool $insulated = true)
Sets the insulated flag.
Parameters
| bool | $insulated | Whether to insulate the requests or not |
Exceptions
| RuntimeException | When Symfony Process Component is not installed |
setServerParameters(array $server)
Sets server parameters.
Parameters
| array | $server | An array of server parameters |
setServerParameter(string $key, string $value)
Sets single server parameter.
Parameters
| string | $key | A key of the parameter |
| string | $value | A value of the parameter |
string getServerParameter(string $key, string $default = '')
Gets single server parameter for specified key.
Parameters
| string | $key | A key of the parameter to get |
| string | $default | A default value when key is undefined |
Return Value
| string | A value of the parameter |
Crawler xmlHttpRequest(string $method, string $uri, array $parameters = array(), array $files = array(), array $server = array(), string $content = null, bool $changeHistory = true)
Parameters
| string | $method | |
| string | $uri | |
| array | $parameters | |
| array | $files | |
| array | $server | |
| string | $content | |
| bool | $changeHistory |
Return Value
| Crawler |
History getHistory()
Returns the History instance.
Return Value
| History | A History instance |
CookieJar getCookieJar()
Returns the CookieJar instance.
Return Value
| CookieJar | A CookieJar instance |
Crawler getCrawler()
Returns the current Crawler instance.
Return Value
| Crawler | A Crawler instance |
Response getInternalResponse()
Returns the current BrowserKit Response instance.
Return Value
| Response | A BrowserKit Response instance |
object getResponse()
Returns the current origin response instance.
The origin response is the response instance that is returned by the code that handles requests.
Return Value
| object | A response instance |
See also
| doRequest() |
Request getInternalRequest()
Returns the current BrowserKit Request instance.
Return Value
| Request | A BrowserKit Request instance |
object getRequest()
Returns the current origin Request instance.
The origin request is the request instance that is sent to the code that handles requests.
Return Value
| object | A Request instance |
See also
| doRequest() |
Crawler click(Link $link)
Clicks on a given link.
Parameters
| Link | $link |
Return Value
| Crawler |
Crawler submit(Form $form, array $values = array())
Submits a form.
Parameters
| Form | $form | |
| array | $values |
Return Value
| Crawler |
Crawler request(string $method, string $uri, array $parameters = array(), array $files = array(), array $server = array(), string $content = null, bool $changeHistory = true)
Calls a URI.
Parameters
| string | $method | The request method |
| string | $uri | The URI to fetch |
| array | $parameters | The Request parameters |
| array | $files | The files |
| array | $server | The server parameters (HTTP headers are referenced with a HTTP_ prefix as PHP does) |
| string | $content | The raw body data |
| bool | $changeHistory | Whether to update the history or not (only used internally for back(), forward(), and reload()) |
Return Value
| Crawler |
protected object doRequestInProcess(object $request)
Makes a request in another process.
Parameters
| object | $request | An origin request instance |
Return Value
| object | An origin response instance |
Exceptions
| RuntimeException | When processing returns exit code |
abstract protected object doRequest(object $request)
Makes a request.
Parameters
| object | $request | An origin request instance |
Return Value
| object | An origin response instance |
protected getScript(object $request)
Returns the script to execute when the request must be insulated.
Parameters
| object | $request | An origin request instance |
Exceptions
| LogicException | When this abstract class is not implemented |
protected object filterRequest(Request $request)
Filters the BrowserKit request to the origin one.
Parameters
| Request | $request | The BrowserKit Request to filter |
Return Value
| object | An origin request instance |
protected Response filterResponse(object $response)
Filters the origin response to the BrowserKit one.
Parameters
| object | $response | The origin response to filter |
Return Value
| Response | An BrowserKit Response instance |
protected Crawler|null createCrawlerFromContent(string $uri, string $content, string $type)
Creates a crawler.
This method returns null if the DomCrawler component is not available.
Parameters
| string | $uri | A URI |
| string | $content | Content for the crawler to use |
| string | $type | Content type |
Return Value
| Crawler|null |
Crawler back()
Goes back in the browser history.
Return Value
| Crawler |
Crawler forward()
Goes forward in the browser history.
Return Value
| Crawler |
Crawler reload()
Reloads the current browser.
Return Value
| Crawler |
Crawler followRedirect()
Follow redirects?
Return Value
| Crawler |
Exceptions
| LogicException | If request was not a redirect |
restart()
Restarts the client.
It flushes history and all cookies.
protected string getAbsoluteUri(string $uri)
Takes a URI and converts it to absolute if it is not already absolute.
Parameters
| string | $uri | A URI |
Return Value
| string | An absolute URI |
protected Crawler requestFromRequest(Request $request, bool $changeHistory = true)
Makes a request from a Request object directly.
Parameters
| Request | $request | A Request instance |
| bool | $changeHistory | Whether to update the history or not (only used internally for back(), forward(), and reload()) |
Return Value
| Crawler |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/BrowserKit/Client.html