|
- Security error in a secure transaction
- Retrieval
- Accessing a password-protected URL
- Using a proxy
- Authentication headers
- Required application feature
HTTPSendForm (Function) In french: HTTPEnvoieFormulaire
HTTPCreateForm("FORM") HTTPAddParameter("FORM", "Price", "3400") ... HTTPSendForm("FORM", "www.mysite.com")
// Example for sending a file lIdForm = "TEST" HTTPCreateForm(lIdForm) HTTPAddFile(lIdForm, "file", "C:\temp\Certificate.pdf") IF NOT HTTPSendForm(lIdForm, "http://test.myserver.net", httpPost, "AGENT") THEN ... END
Syntax
Full syntax Hide the details
<Result> = HTTPSendForm(<Form name> , <URL to contact> [, <HTTP Method> [, <User agent> [, <Additional HTTP header> [, <Type of form> [, <Username> [, <Password>]]]]]])
<Result>: Boolean - True if the HTTP form was sent,
- False if an error occurred. To get the details of the error, use ErrorInfo with the errMessage constant.
<Form name>: Character string (with quotes) Name of HTTP form to send. <URL to contact>: Character string (with quotes) Address of server to contact (URL address). This parameter can contain the port number for connecting to the server. The default value is 80 (corresponds to a server of Web pages). To specify a port number, use the following format: "<Server URL>:<Port #>". For example: http://www.pcsoft.fr:80.Remark: To perform a secure transaction, the URL must start with "https://". <HTTP Method>: Optional Integer constant HTTP method used: | | Versions 19 and laterhttpCopy New in version 19httpCopy httpCopy | COPY method | httpDelete | DELETE method | httpGet | GET method | Versions 19 and laterhttpHead New in version 19httpHead httpHead | HEAD method | Versions 19 and laterhttpPatch New in version 19httpPatch httpPatch | PATCH method | httpPost (Default value) | POST method | httpPut | PUT method
|
<User agent>: Optional character string (with quotes) Identifies the client. The "PC SOFT Framework" value is returned by default. The content of the response may depend on the user agent. In this case, see the documentation of user agent for more details.
<Additional HTTP header>: Optional character string (with quotes) - Additional HTTP header that will be added to the HTTP message. Caution: this string must end with a CR character (Carriage Return).
- Empty string ("") if no HTTP header must be added.
<Type of form>: Optional character string (with quotes) or optional constant Type of form that will be sent to the server. This parameter corresponds to "Content-Type". By default, the message type corresponds to: "application/x-www-form-urlencoded".
Versions 22 and laterThis parameter can correspond to one of the following constants: | | typeMimeMultiPartForm | The message type corresponds to: "multipart/form-data" (mainly used to transfer files). | typeMimeSimpleForm (Default value) | The message type corresponds to: "application/x-www-form-urlencoded". |
New in version 22This parameter can correspond to one of the following constants: | | typeMimeMultiPartForm | The message type corresponds to: "multipart/form-data" (mainly used to transfer files). | typeMimeSimpleForm (Default value) | The message type corresponds to: "application/x-www-form-urlencoded". |
This parameter can correspond to one of the following constants:
| | typeMimeMultiPartForm | The message type corresponds to: "multipart/form-data" (mainly used to transfer files). | typeMimeSimpleForm (Default value) | The message type corresponds to: "application/x-www-form-urlencoded". |
<Username>: Optional character string (with quotes) Name used to access a page with a protected URL (empty string by default). This name is used to identify the user. <Password>: Optional character string (with quotes) Password associated with the user name (empty string by default). Used to access a page with a protected URL. Caution: The password is not encrypted when it is sent on Internet. Versions 20 and later New in version 20 Versions 26 and later New in version 26Remarks Security error in a secure transaction During a secure transaction, the sending of the form may fail due to security errors: - invalid certificate or certificate coming from an unknown company.
- the name of the site specified in the certificate does not correspond to a server.
- invalid or expired certificate date.
- redirection to a non-secure server.
If one of these errors occurs, you can re-run the request while ignoring the errors. Two methods can be used according to the syntax: - Syntax 1: using the HTTP.IgnoreError variable (see the paragraph below).
Versions 20 and later   Syntax 2: using the ..IgnoreError property of httpRequest variable. New in version 20   Syntax 2: using the ..IgnoreError property of httpRequest variable.    Syntax 2: using the ..IgnoreError property of httpRequest variable.
If the full syntax is used (syntax 1), all you have to do is use the HTTP.IgnoreError variable: | | | Error returned by ErrorInfo (with the errCode constant) | Value of HTTP.IgnoreError (these values can be combined) | Description |
---|
httpErrorInvalidCertificate Invalid certificate or certificate coming from an unknown company | httpIgnoreInvalidCertificate | The certificate is ignored. | httpErrorInvalidCertificateName The site name specified in the certificate does not correspond to a server | httpIgnoreInvalidCertificateName | The site name specified in the certificate is ignored. | httpErrorExpiredCertificate Invalid or expired certificate date | httpIgnoreExpiredCertificate | The certificate date is ignored | httpErrorRedirectToHTTP Redirection to a non-secure server | httpIgnoreRedirectToHTTP | The redirection to a non-secure server is allowed. | httpIgnoreRedirectToHTTPS Redirection to a secure server | httpIgnoreRedirectToHTTPS | The redirection to a secure server is allowed. |
For example:
// Send a form on a secure server ResStart = HTTPSendForm("FORM", "https://www.MyServer.com") // If an error occurs IF ResStart = False THEN // According to the type of error SWITCH ErrorInfo(errCode) // Invalid certificate or coming from an unknown company CASE httpErrorInvalidCertificate: // Ignore the certificate? IF YesNo("Caution, a security alert was detected!", ... "The certificate is invalid.", ... "Do you want to ignore this certificate?") = Yes THEN HTTP.IgnoreError = httpIgnoreInvalidCertificate // Send the form again while ignoring this error HTTPSendForm("FORM", "https://www.MyServer.com") END // Invalid or expired certificate date CASE httpErrorExpiredCertificate: // Ignore the certificate date? IF YesNo("Caution, a security alert was detected!", ... "The certificate date is invalid or expired.", ... "Do you want to ignore this date?") = Yes THEN HTTP.IgnoreError = httpIgnoreExpiredCertificate // Send the form again while ignoring this error HTTPSendForm("FORM", "https://www.MyServer.com") END END END
Accessing a password-protected URL To access a password-protected URL, you can: - use the <User name> and <Password> parameters in HTTPSendForm.
- specify the username and password in the <URL to contact> parameter.
For example:
<Result> = HTTPSendForm("http://<user>:<password>@<URL to contact>")
Using a proxy To access the URL specified in HTTPSendForm via a proxy, use Proxy. Authentication headers The authentication headers are automatically generated in the following cases: - If HTTPSendForm uses the syntax with username and password.
- If the server URL is password protected
- If Proxy is used.
Versions 21 and later New in version 21 Business / UI classification : Business Logic
This page is also available for…
|
|
|
| |
| Click [Add] to post a comment |
|
| |
|
| |
| |
| |
| |
| |
| |
| | |
| |