Interface Request
- All Known Implementing Classes:
RequestImpl
Page:
-
Page.onRequest()emitted when the request is issued by the page. -
Page.onResponse()emitted when/if the response status and headers are received for the request. -
Page.onRequestFinished()emitted when the response body is downloaded and the request is complete.
If request fails at some point, then instead of "requestfinished" event (and possibly instead of 'response'
event), the Page.onRequestFailed() event is emitted.
NOTE: HTTP Error responses, such as 404 or 503, are still successful responses from HTTP standpoint, so request will complete
with "requestfinished" event.
If request gets a 'redirect' response, the request is successfully finished with the requestfinished event, and
a new request is issued to a redirected url.
-
Method Summary
Modifier and TypeMethodDescriptionAn object with all the request HTTP headers associated with this request.failure()The method returnsnullunless this request has failed, as reported byrequestfailedevent.frame()Returns theFramethat initiated this request.headers()An object with the request HTTP headers.An array with all the request HTTP headers associated with this request.headerValue(String name) Returns the value of the header matching the name.booleanWhether this request is driving frame's navigation.method()Request's method (GET, POST, etc.)postData()Request's post body, if any.byte[]Request's post body in a binary form, if any.Request that was redirected by the server to this one, if any.New request issued by the browser if the server responded with redirect.Contains the request's resource type as it was perceived by the rendering engine.response()Returns the matchingResponseobject, ornullif the response was not received due to error.sizes()Returns resource size information for given request.timing()Returns resource timing information for given request.url()URL of the request.
-
Method Details
-
allHeaders
An object with all the request HTTP headers associated with this request. The header names are lower-cased.- Since:
- v1.15
-
failure
String failure()The method returnsnullunless this request has failed, as reported byrequestfailedevent.**Usage**
Example of logging of all the failed requests:
page.onRequestFailed(request -> { System.out.println(request.url() + " " + request.failure()); });- Since:
- v1.8
-
frame
Frame frame()Returns theFramethat initiated this request.**Usage**
String frameUrl = request.frame().url();**Details**
Note that in some cases the frame is not available, and this method will throw.
- When request originates in the Service Worker. You can use
request.serviceWorker()to check that. - When navigation request is issued before the corresponding frame is created. You can use
Request.isNavigationRequest()to check that.
Here is an example that handles all the cases:
- Since:
- v1.8
- When request originates in the Service Worker. You can use
-
headers
An object with the request HTTP headers. The header names are lower-cased. Note that this method does not return security-related headers, including cookie-related ones. You can useRequest.allHeaders()for complete list of headers that includecookieinformation.- Since:
- v1.8
-
headersArray
List<HttpHeader> headersArray()An array with all the request HTTP headers associated with this request. UnlikeRequest.allHeaders(), header names are NOT lower-cased. Headers with multiple entries, such asSet-Cookie, appear in the array multiple times.- Since:
- v1.15
-
headerValue
Returns the value of the header matching the name. The name is case insensitive.- Parameters:
name- Name of the header.- Since:
- v1.15
-
method
String method()Request's method (GET, POST, etc.)- Since:
- v1.8
-
postData
String postData()Request's post body, if any.- Since:
- v1.8
-
postDataBuffer
byte[] postDataBuffer()Request's post body in a binary form, if any.- Since:
- v1.8
-
redirectedFrom
Request redirectedFrom()Request that was redirected by the server to this one, if any.When the server responds with a redirect, Playwright creates a new
Requestobject. The two requests are connected byredirectedFrom()andredirectedTo()methods. When multiple server redirects has happened, it is possible to construct the whole redirect chain by repeatedly callingredirectedFrom().**Usage**
For example, if the website
http://example.comredirects tohttps://example.com:Response response = page.navigate("http://example.com"); System.out.println(response.request().redirectedFrom().url()); // "http://example.com"If the website
https://google.comhas no redirects:Response response = page.navigate("https://google.com"); System.out.println(response.request().redirectedFrom()); // null- Since:
- v1.8
-
redirectedTo
Request redirectedTo()New request issued by the browser if the server responded with redirect.**Usage**
This method is the opposite of
Request.redirectedFrom():System.out.println(request.redirectedFrom().redirectedTo() == request); // true- Since:
- v1.8
-
resourceType
String resourceType()Contains the request's resource type as it was perceived by the rendering engine. ResourceType will be one of the following:document,stylesheet,image,media,font,script,texttrack,xhr,fetch,eventsource,websocket,manifest,other.- Since:
- v1.8
-
response
Response response()Returns the matchingResponseobject, ornullif the response was not received due to error.- Since:
- v1.8
-
sizes
Sizes sizes()Returns resource size information for given request.- Since:
- v1.15
-
timing
Timing timing()Returns resource timing information for given request. Most of the timing values become available upon the response,responseEndbecomes available when request finishes. Find more information at Resource Timing API.**Usage**
page.onRequestFinished(request -> { Timing timing = request.timing(); System.out.println(timing.responseEnd - timing.startTime); }); page.navigate("http://example.com");- Since:
- v1.8
-
url
String url()URL of the request.- Since:
- v1.8
-