LTE Standard Module Series
1 Introduction
Quectel LTE Standard EG800Q series and EG91xQ family (EG915Q series and EG916Q-GL) modules
support HTTP(S) applications by accessing HTTP(S) servers.
Hypertext Transfer Protocol (HTTP) is an application layer protocol for distributed, collaborative,
hypermedia information systems.
Hypertext Transfer Protocol Secure (HTTPS) is a variant of the standard web transfer protocol (HTTP) that
adds a layer of security on the data in transit through a secure socket layer (SSL) or transport layer security
(TLS) protocol connection. The main purpose of HTTPS development is to provide identity authentication
for website servers and protect the privacy and integrity of exchanged data.
This document is a reference guide to all AT commands defined for HTTP(S).
1.1. Using HTTP(S) AT Commands
With TCP/IP AT commands, you can configure a PDP context, activate/deactivate the PDP context, and
query the context status. Whereas, with HTTP(S) AT commands you can send HTTP(S) GET/POST/PUT
requests to the HTTP(S) server and read the HTTP(S) response from the HTTP(S) server. In general, the
process is as follows:
Step 1: Configure <APN>, <username>, <password> and other parameters of a PDP context with
AT+QICSGP. See document [1] for details.
Step 2: Activate the PDP context with AT+QIACT. You can query the assigned IP address with
AT+QIACT?. See document [1] for details.
Step 3: Configure the PDP context ID and SSL context ID with AT+QHTTPCFG.
Step 4: Configure SSL context parameters with AT+QSSLCFG. See document [2] for details.
Step 5: Set the HTTP(S) URL with AT+QHTTPURL.
Step 6: Send an HTTP(S) request. You can use AT+QHTTPGET for sending an HTTP(S) GET request;
and use AT+QHTTPPOST or AT+QHTTPPOSTFILE for sending an HTTP(S) POST request; and
use AT+QHTTPPUT or AT+QHTTPPUTFILE for sending an HTTP(S) PUT request.
Step 7: Read HTTP(S) response with AT+QHTTPREAD or AT+QHTTPREADFILE.
EG800Q&EG91xQ_Series_HTTP(S)_Application_Note 7 / 53
LTE Standard Module Series
Step 8: Deactivate the PDP context with AT+QIDEACT. See document [1] for details.
1.2. Description of HTTP(S) Header
1.2.1. Customize HTTP(S) Request Header
HTTP(S) request header is filled by the module automatically. It can also be customized by configuring
<request_header> to 1 with AT+QHTTPCFG, and then by inputting the HTTP(S) request header
according to the following requirements:
⚫ The value of a URI in HTTP(S) request line and the “Host:” header must be in line with the URL
configured with AT+QHTTPURL.
⚫ Apply HTTP(S) request header syntax, which must conform to RFC2616.
A valid HTTP(S) POST request header is shown in the following example:
POST /[Link] HTTP/1.1<CR><LF>
Host:[Link]:8011<CR><LF>
Accept: */*<CR><LF>
User-Agent: QUECTEL_MODULE<CR><LF>
Connection: Keep-Alive<CR><LF>
Content-Type: application/x-www-form-urlencoded<CR><LF>
Content-Length: 48<CR><LF>
<CR><LF>
Message=1111&Appleqty=2222&Orangeqty=3333&find=1
1.2.2. Output HTTP(S) Response Header
HTTP(S) response header will not be outputted automatically. Outputting of the HTTP(S) response header
can be enabled by configuring <response_header> to 1 via AT+QHTTPCFG. The HTTP(S) response
header will be outputted with the HTTP(S) response body after executing AT+QHTTPREAD or
AT+QHTTPREADFILE.
EG800Q&EG91xQ_Series_HTTP(S)_Application_Note 8 / 53
LTE Standard Module Series
1.3. Description of Data Mode
The COM port of the module has two working modes: AT command mode and data mode. In AT command
mode, the data inputted via the COM port are treated as AT commands, while they are treated as data in
data mode.
⚫ Exit Data Mode
Inputting +++ or pulling up the DTR pin can make the COM port exit data mode. To prevent +++ from being
misinterpreted as data, the following sequence should be followed:
1) Do not input any character within 1 s before and after inputting +++.
2) Input +++ within 1 s, and wait until OK is returned. When OK is returned, COM port exits the data
mode.
If you are exiting the data mode by pulling the DTR pin up, make sure to set AT&D1 first.
⚫ Enter Data Mode
To enter the data mode, execute AT+QHTTPURL, AT+QHTTPPOST and AT+QHTTPREAD. If you input
+++ or pull up the DTR pin to make the port exit data mode, the execution of these commands will be
interrupted before the response is returned. In such a case, the COM port cannot re-enter data mode if
you execute ATO.
EG800Q&EG91xQ_Series_HTTP(S)_Application_Note 9 / 53