Editing the requests, responses and associated connections is done using the editing views, each represented by a tab in the Main window.
Only the relevant views are enabled. For example, if no response has been received, the Raw Response view is disabled. Editing in one view will be reflected in the other views.
Every connection passing through HTTP Proxy is actually two separate connections: connection between browser and HTTP Proxy, and connection between web server and HTTP Proxy. Thus, the Connection view has two parts for the two connections of any request or response.
The browser's full address and port appear on the left, and HTTP Proxy's address and port appear on the right. Between them is the connection status icon (see Connection Status Icons), reflecting the status of the connection between the browser and HTTP Proxy.
The full address HTTP Proxy used to connect to the web server appears on the left, and the web server's address on the right. Between them is the connection status icon (see Connection Status Icons), reflecting the status of the connection between HTTP Proxy and the web server. If the connection is not yet connected, the web server's address is editable.
If the connection is an SSL connection the SSL Status and the SSL Certificate are relevant. The SSL Session ID and Cipher Suite used are displayed, as well as any SSL Certificates received from the web server.
If the connection is not yet connected, you may check the SSL checkbox to set HTTP Proxy to attempt a secure connection to the server; or uncheck SSL, to set HTTP Proxy to attempt a standard connection to the server. If you change the SSL checkbox, the target port is also changed (if you use the default ports; see Configuring Browsers for more information).
To control the connection, and cause HTTP Proxy to reconnect, use the following buttons:
The connection status buttons show the state of the connection.
To close an open connection, click the status icon:
The Raw Request view contains different parts:
The Method, Path, And Version are editable.
For the Method and Version text fields, a drop-down list provides the most commonly used values; however, you may enter different values.
In the Path text field, enter text to add to the URL before the first ?.
The Headers table contains the headers to be sent to the server. You may edit Headers freely.
The following headers are treated specially:
This header is used to determine whether the default body display will be binary or text, and whether to automatically read the body into memory. It also determines how body parameters are encoded (see Parsed Request view) |
|
Parsed to extract cookies. May be changed or moved after editing in the Parsed Request view. |
Note: Although the editor allows insertion of a colon (:) into the header text, it is not recommended as it can confuse the parser.
The body editor displays the body of the request only if it is completely in memory.
Note: The displayed body may not exactly match the body received. HTTP Proxy attempts to decode the body at a number of levels (Transfer-Encoding, Content-Encoding and Character-Set decoding). After editing the body, re-encoding may not create the same result. For instance, newlines may be re-encoded as the LF character (0x0a) rather than the CR-LF (0x0d 0x0a) sequence. The body will be decoded and re-encoded only if it was edited; otherwise it will be transmitted unchanged.
The Parsed Request view contains different parts:
The Path can be used to edit the path, which is everything before the first ? in the action to be sent in the Request.
The request type radio buttons allow a one-click setting of the parameter encoding.
This table contains the cookies sent with the request (parsed from the Cookie headers). Editing the cookies in this table will be reflected in the Cookie header in the Raw Request view.
To delete a cookie, select it in the table and click Remove.
To add a cookie, click Add and then enter the cookie name and value in the empty row at the bottom of the table.
This table allows you to view and edit the parameters sent with the request.
Parameters have a Name, a Value and a Location.
For values that contain newlines or are larger than a few characters, use the text area (in this case the BIG will appear in the table).
Values may also be null, in which case the word NULL will appear in the table. (Note that there is a difference between being empty and being null: in the standard urlencoding a null value will not have an equals sign).
Query parameters are added to the Path. It is not advisable to put large parameters in the query. Query parameters are always encoded using the urlencoding convention.
Body parameters are encoded using either the multipart/form-data or urlencoding conventions depending on the value of the Content-Type header. For multipart Body parameters, a Content-Type and Filename may be specified in addition to the name and value. These will be used to set the MIME part headers. For other encodings these fields are ignored.
To delete a parameter, select it in the table and click Remove.
To add a parameter, click Add and then enter the Name, Value, and Location in the empty row at the bottom of the table.
The Raw Response view contains different parts:
All options are editable. A drop-down list each for Version and Status provides the most commonly used values; however, you are free to use different values.
The Headers table contains the headers to be sent to the server. You may edit Headers freely.
To delete a header, select it in the table and click Remove.
To add a header, click Add and then enter the Header name and Value in the empty row at the bottom of the table.
The following headers are treated specially:
Note: Although the editor allows insertion of a colon (:) into the header text, it is not recommended as it can confuse the parser.
The body editor displays the body of the request only if it is completely in memory.
Note: The displayed body may not exactly match the body received. HTTP Proxy attempts to decode the body at a number of levels (Transfer-Encoding, Content-Encoding and Character-Set decoding). After editing the body, re-encoding may not create the same result. For instance, newlines may be re-encoded as the LF character (0x0a) rather than the CR-LF (0x0d 0x0a) sequence. The body will be decoded and re-encoded only if it was edited; otherwise it will be transmitted unchanged.