Aplicación_HTTPS
Aplicación_HTTPS
Aplicación_HTTPS
Application Note
Rev. BG95&BG77_HTTP(S)_Application_Note_V1.0
Date: 2019-08-12
Status: Released
www.quectel.com
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Our aim is to provide customers with timely and comprehensive service. For any
assistance, please contact our company headquarters:
GENERAL NOTES
QUECTEL OFFERS THE INFORMATION AS A SERVICE TO ITS CUSTOMERS. THE INFORMATION
PROVIDED IS BASED UPON CUSTOMERS’ REQUIREMENTS. QUECTEL MAKES EVERY EFFORT
TO ENSURE THE QUALITY OF THE INFORMATION IT MAKES AVAILABLE. QUECTEL DOES NOT
MAKE ANY WARRANTY AS TO THE INFORMATION CONTAINED HEREIN, AND DOES NOT ACCEPT
ANY LIABILITY FOR ANY INJURY, LOSS OR DAMAGE OF ANY KIND INCURRED BY USE OF OR
RELIANCE UPON THE INFORMATION. ALL INFORMATION SUPPLIED HEREIN IS SUBJECT TO
CHANGE WITHOUT PRIOR NOTICE.
COPYRIGHT
THE INFORMATION CONTAINED HERE IS PROPRIETARY TECHNICAL INFORMATION OF
QUECTEL WIRELESS SOLUTIONS CO., LTD. TRANSMITTING, REPRODUCTION, DISSEMINATION
AND EDITING OF THIS DOCUMENT AS WELL AS UTILIZATION OF THE CONTENT ARE
FORBIDDEN WITHOUT PERMISSION. OFFENDERS WILL BE HELD LIABLE FOR PAYMENT OF
DAMAGES. ALL RIGHTS ARE RESERVED IN THE EVENT OF A PATENT GRANT OR
REGISTRATION OF A UTILITY MODEL OR DESIGN.
Copyright © Quectel Wireless Solutions Co., Ltd. 2019. All rights reserved.
BG95&BG77_HTTP(S)_Application_Note 1 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
History
Revision Date Author Description
Terrence YANG/
1.0 2019-08-12 Initial
Sherlock ZHAO
BG95&BG77_HTTP(S)_Application_Note 2 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Contents
1 Introduction .......................................................................................................................................... 5
1.1. The Process of Using HTTP(S) AT Commands.......................................................................... 5
1.2. Description of HTTP(S) Header .................................................................................................. 6
1.2.1. Customize HTTP(S) Request Header ............................................................................. 6
1.2.2. Output HTTP(S) Response Header ................................................................................. 6
1.3. Description of Data Mode ........................................................................................................... 6
3 Examples ............................................................................................................................................ 19
3.1. Access HTTP Server................................................................................................................. 19
3.1.1. Send HTTP GET Request and Read the Response ..................................................... 19
3.1.2. Send HTTP POST Request and Read the Response ................................................... 21
3.1.2.1. POST Body Obtained from UART/USB ............................................................... 21
3.1.2.2. POST Body Obtained from File System ............................................................... 22
3.2. Access HTTPS Server .............................................................................................................. 23
3.2.1. Send HTTPS GET Request and Read the Response ................................................... 23
3.2.2. Send HTTPS POST Request and Read the Response ................................................ 25
3.2.2.1. POST Body Obtained from UART/USB ............................................................... 25
3.2.2.2. POST Body Obtained from File System ............................................................... 27
7 Appendix A References..................................................................................................................... 36
BG95&BG77_HTTP(S)_Application_Note 3 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Table Index
BG95&BG77_HTTP(S)_Application_Note 4 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
1 Introduction
BG95/BG77 supports HTTP(S) applications through accessing HTTP(S) servers. This document is a
reference guide to all the AT commands defined for HTTP(S).
Through TCP/IP AT commands, customers can configure a PDP context, activate/deactivate the PDP
context and query the PDP context status. And through HTTP(S) AT commands, customers can send
HTTP(S) GET/POST requests to HTTP(S) server, and read HTTP(S) response from HTTP(S) server. The
general process is as follows:
Step 1: Configure <APN>, <username>, <password> and other parameters of a PDP context by
AT+QICSGP.
Step 2: Activate the PDP context by AT+QIACT, then the assigned IP address can be queried by
AT+QIACT?.
Step 6: Send HTTP(S) request. AT+QHTTPGET can be used for sending HTTP(S) GET request, and
AT+QHTTPPOST/AT+QHTTPOSTFILE can be used for sending HTTP(S) POST request.
NOTES
BG95&BG77_HTTP(S)_Application_Note 5 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
By default, HTTP(S) request header is filled by the module automatically. It can also be customized by
configuring <request_header> as 1 via AT+QHTTPCFG command, and then inputting HTTP(S) request
header according to the following requirements:
By default, HTTP(S) response header will not be output. Output of HTTP(S) response header can be
enabled by configuring <response_header> to 1 via AT+QHTTPCFG command, and then the HTTP(S)
response header will be output together with HTTP(S) response body after executing AT+QHTTPREAD
or AT+QHTTPREADFILE command.
The COM port of BG95/BG77 module has two working modes: AT command mode and data mode. In AT
command mode, the inputted data via COM port will be treated as AT commands. While in data mode, it
will be treated as data.
Inputting “+++” or pulling up DTR (AT&D1 should be set first) can make the COM port exit from data mode.
To prevent the “+++” from being misinterpreted as data, the following sequence should be followed:
BG95&BG77_HTTP(S)_Application_Note 6 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
When AT+QHTTPURL, AT+QHTTPOST and AT+QHTTPREAD are executed, the COM port will enter
data mode. If customers are using “+++” or DTR to make the port exit from data mode, the executing
procedure of these commands will be interrupted before the response is returned. In such a case, the
COM port cannot reenter data mode by executing ATO command.
BG95&BG77_HTTP(S)_Application_Note 7 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
The command is used to configure the parameters for HTTP(S) server, including configuring a PDP
context ID, customizing HTTP(S) request header, outputting HTTP(S) response header and querying SSL
settings. If the Write Command only executes one parameter, it will query the current settings.
OK
Read Command Response
AT+QHTTPCFG? +QHTTPCFG: "contextid",<contextID>
+QHTTPCFG: "requestheader",<request_header>
+QHTTPCFG: "responseheader",<response_header>
+QHTTPCFG: "sslctxid",<sslctxID>
+QHTTPCFG: "contenttype",<content_type>
OK
Write Command Response
AT+QHTTPCFG="contextid"[,<contextI If <contextID> is present, configure the PDP context ID:
D>] OK
Or
+CME ERROR: <err>
OK
Write Command Response
BG95&BG77_HTTP(S)_Application_Note 8 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
OK
Write Command Response
AT+QHTTPCFG="responseheader"[,<r If <response_header> is present, configure whether to
esponse_header>] enable output of HTTP(S) response header:
OK
Or
+CME ERROR: <err>
OK
Write Command Response
AT+QHTTPCFG="sslctxid"[,<sslctxID> If <sslctxID> is present, configure the SSL context ID used
] for HTTP(S):
OK
Or
+CME ERROR: <err>
OK
Write Command Response
AT+QHTTPCFG="contenttype"[,<cont If <content_type> is present, configure the data type of
ent_type>] HTTP(S) body:
OK
Or
+CME ERROR: <err>
OK
BG95&BG77_HTTP(S)_Application_Note 9 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<contextID> Integer type. PDP context ID. The range is 1-16, and the default value is 1.
<request_header> Integer type. Disable or enable customization of HTTP(S) request header.
0 Disable
1 Enable
<response_header> Integer type. Disable or enable to output HTTP(S) response header.
0 Disable
1 Enable
<sslctxID> Integer type. SSL context ID used for HTTP(S). The range is 0-5, and the
default value is 1. The SSL parameters can be configured by AT+QSSLCFG,
and for details of this command, please refer to Quectel_BG95&BG77_SSL_
AT_Commands_Manual.
<content_type> Integer type. Data type of HTTP(S) body.
0 application/x-www-form-urlencoded
1 text/plain
2 application/octet-stream
3 multipart/form-data
<err> Integer type. The error code of operation. Please refer to Chapter 5 for
details.
The URL must begin with “http://” or “https://”, which indicates an HTTP or HTTPS server will be
accessed.
OK
Read Command Response
AT+QHTTPURL? [+QHTTPURL: <URL>]
OK
Write Command Response
AT+QHTTPURL=<URL_length>[,<tim a) If the parameter format is correct, and it is not sending
eout>] HTTP(S) GET/POST requests at present:
CONNECT
BG95&BG77_HTTP(S)_Application_Note 10 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<URL> String type. The URL of HTTP(S) server.
<URL_length> Integer type. The length of URL. The range is 1-700. Unit: byte.
<timeout> Integer type. The maximum time for inputting URL. The range is 1-65535, and the
default value is 60. Unit: second.
<err> Integer type. The error code of operation. Please refer to Chapter 5 for
details.
After AT+HTTPGET Write Command has been sent, it is recommended to wait for a specific period of
time (<rsptime>) for “+QHTTPGET: <err>[,<httprspcode>[,<content_length>]]” to be output after “OK” is
reported.
OK
BG95&BG77_HTTP(S)_Application_Note 11 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<rsptime> Integer type. The range is 1-65535, and the default value is 60. Unit: second. It is
used to configure the timeout for the HTTP(S) GET response “+QHTTPGET:
<err>[,<httprspcode>[,<content_length>]]” to be output after “OK” is returned.
<data_length> Integer type. The length of HTTP(S) request information, including HTTP(S)
request header and HTTP(S) request body. The range is 1-2048. Unit: byte.
<input_time> Integer type. The maximum time for inputting HTTP(S) request
information. The range is 1-65535, and the default value is 60. Unit: second.
<err> Integer type. The error code of operation. Please refer to Chapter 5 for details.
BG95&BG77_HTTP(S)_Application_Note 12 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
UART/USB
The command is used to send HTTP(S) POST request. According to the configured <request_header>
parameter in AT+QHTTPCFG=“requestheader”[,<request_header>] command, the AT+HTTPPOST Write
Command has two different formats:
If <request_header> is set to 0, then only the POST body should be inputted via UART/USB port.
If <request_header> is set to 1, then both POST header and POST body should be inputted via
UART/USB port.
After AT+QHTTPPOST command has been sent, “CONNECT” may be output in 125s to indicate the
connection is successful. If it is not received during the time, “+CME ERROR: <err>” will be output. It is
recommended to wait for a specific period of time (refer to the maximum response time below) for
“+QHTTPPOST: <err>[,<httprspcode>[,<content_length>]]” to be output after “OK” is reported.
OK
Write Command Response
If <request_header> equals 0 (disable a) If the parameter format is correct, the HTTP(S) server has
to customize HTTP(S) request header) been connected successfully, and the HTTP(S) request
AT+QHTTPPOST=<data_length>[,<in header has been sent completely:
put_time>,<rsptime>] CONNECT
BG95&BG77_HTTP(S)_Application_Note 13 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
+QHTTPPOST: <err>[,<httprspcode>[,<content_length>]]
Parameter
<data_length> Integer type. If <request_header> is 0, it indicates the length of POST body,
and if <request_header> is 1, it indicates the length of HTTP(S) request
information, including HTTP(S) request header and HTTP(S) request body.
The range is 1-1024000. Unit: byte.
<input_time> Integer type. The maximum time for inputting POST body or HTTP(S) request
information. The range is 1-65535, and the default value is 60. Unit: second.
<rsptime> Integer type. The range is 1-65535, and the default value is 60. Unit: second.
It is used to configure the timeout for the HTTP(S) POST response
BG95&BG77_HTTP(S)_Application_Note 14 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
File
The command can be used to send HTTP(S) POST request via a file. According to the <request_header>
configuration in AT+QHTTPCFG=“requestheader”[,<request_header>] command, the file operated by
AT+HTTPPOSTFILE command has two different formats:
If <request_header> is set to 0, the file in file system will be POST body only.
If <request_header> is set to 1, the file in file system will be POST header and body.
OK
Write Command Response
AT+QHTTPPOSTFILE=<file_name>[,< a) If the parameter format is correct and the HTTP(S) server
rsptime>] has been connected successfully:
If <request_header> equals 1, the OK
specified file must contain HTTP(S)
request header information. When the module has received response from HTTP(S)
server, it will report the following URC:
+QHTTPPOSTFILE: <err>[,<httprspcode>,<content_lengt
h>]
BG95&BG77_HTTP(S)_Application_Note 15 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<file_name> String type. File name. The max length of the file name is 80 bytes.
<rsptime> Integer type. The range is 1-65535, and the default value is 60. Unit: second.
It is used to configure the timeout for the HTTP(S) POST response
“+QHTTPPOSTFILE: <err>[,<httprspcode>,<content_length>]” to be output
after “OK” is returned.
<err> Integer type. The error code of operation. Please refer to Chapter 5 for
details.
<httprspcode> Please refer to Chapter 6.
<request_header> Integer type. Disable or enable to customize HTTP(S) request header.
0 Disable
1 Enable
<content_length> Integer type. The length of HTTP(S) response body.
UART/USB
This command is used to retrieve HTTP(S) response information from HTTP(S) server via UART/USB
port, after HTTP(S) GET/POST requests are sent. It must be executed after “+QHTTPGET:
<err>[,<httprspcode>[,<content_length>]]”, “+QHTTPPOST: <err>[,<httprspcode>[,<content_length>]]” or
“+QHTTPPOSTFILE: <err>[,<httprspcode>,<content_length>]” are received.
OK
Write Command Response
AT+QHTTPREAD[=<wait_time>] a) If the parameter format is correct and the HTTP(S)
response is read successfully:
CONNECT
<Output HTTP(S) response information>
OK
+QHTTPREAD: <err>
BG95&BG77_HTTP(S)_Application_Note 16 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<wait_time> Integer type. The maximum interval time between receiving two packets of data.
The range is 1-65535, and the default value is 60. Unit: second.
<err> Integer type. The error code of operation. Please refer to Chapter 5 for details.
File
This command is used to store the HTTP(S) response information from HTTP(S) server to a specified file,
after HTTP(S) GET/POST requests are sent, thus allowing customers to retrieve the response
information from the file. It must be executed after “+QHTTPGET:
<err>[,<httprspcode>[,<content_length>]]”, “+QHTTPPOST: <err>[,<httprspcode>[,<content_length>]]” or
“+QHTTPPOSTFILE: <err>[,<httprspcode>,<content_length>]” is reported.
OK
Write Command Response
AT+QHTTPREADFILE=<file_name>[, a) If the parameter format is correct:
<wait_time>] OK
BG95&BG77_HTTP(S)_Application_Note 17 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
Parameter
<wait_time> Integer type. The maximum interval time between receiving two packets of data.
The range is 1-65535, and the default value is 60. Unit: second.
<file_name> String type. File name. The max length of file name is 80 bytes.
<err> Integer type. The error code of operation. Please refer to Chapter 5 for details.
BG95&BG77_HTTP(S)_Application_Note 18 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
3 Examples
The following examples show how to send HTTP GET request and enable output of HTTP response
header, as well as how to read HTTP GET response.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK //No context activated currently.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"10.7.157.1"
OK
AT+QHTTPURL=23,80 //Set the URL of the HTTP server which will be accessed.
CONNECT
http://www.sina.com.cn/ //Input the URL whose length should be 23 bytes. (This URL is
only an example. Please input the correct URL in practical test.)
OK
BG95&BG77_HTTP(S)_Application_Note 19 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
AT+QHTTPGET=80 //Send HTTP GET request and the maximum response time is
80s.
OK
BG95&BG77_HTTP(S)_Application_Note 20 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
The following examples show how to send HTTP POST request and retrieve POST body via UART port,
as well as how to read HTTP POST response.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK //No context activated currently.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"172.22.86.226"
OK
AT+QHTTPURL=59,80 //Set the URL of the HTTP server which will be accessed.
CONNECT
http://api.efxnow.com/DEMOWebServices2.8/Service.asmx/Echo? //Input the URL whose length is
59 bytes. (This URL is only an
example. Please input the
correct URL in practical test.)
OK
AT+QHTTPPOST=20,80,80 //Send HTTP POST request. The maximum input body time is
80s and the maximum response time is 80s.
CONNECT
Message=HelloQuectel //Input the POST body whose length should be 20 bytes. (The
POST body is only an example. Please input the correct POST
body in practical test.)
OK
BG95&BG77_HTTP(S)_Application_Note 21 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
AT+QHTTPREAD=80 //Read HTTP response body and output it via UART. The
maximum time to wait for HTTP session to be closed is 80s.
CONNECT
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="httpHTTPs://api.efxnow.com/webservices2.3">Message='HelloQuectel' ASCII:72
101 108 108 111 81 117 101 99 116 101 108 </string> //Output the HTTP response body.
OK
The following examples show how to send HTTP POST request and retrieve POST body via file system,
as well as how to store HTTP POST response to file system.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK //No context activated currently.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"172.22.86.226"
OK
AT+QHTTPURL=59,80 //Set the URL of the HTTP server which will be accessed.
CONNECT
http://api.efxnow.com/DEMOWebServices2.8/Service.asmx/Echo? //Input URL whose length is 59
bytes. (This URL is only an
example. Please input the
correct URL in practical test.)
OK
//POST request information from UFS file, and read the HTTP response information through storing it to a
BG95&BG77_HTTP(S)_Application_Note 22 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
UFS file.
+QHTTPPOSTFILE: 0,200,177 //HTTP POST request is sent successfully. And then the
HTTP response body can be read via either
AT+QHTTPREAD or AT+QHTTPREADFILE command.
The following examples show how to send HTTPS GET request and enable output of HTTPS response
header, as well as how to read HTTPS GET response.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK
AT+QICSGP=1,1, "UNINET","","",1 //Configure PDP context 1. APN is “UNINET” for China Unicom.
OK
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"10.7.157.1"
BG95&BG77_HTTP(S)_Application_Note 23 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
OK
BG95&BG77_HTTP(S)_Application_Note 24 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
<body>
OK
The following examples show how to send HTTPS POST request and retrieve POST body via UART port,
as well as how to read HTTPS POST response.
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK //No context activated currently.
AT+QICSGP=1,1, "UNINET","","",1 //Configure PDP context 1. APN is “UNINET” for China Unicom.
OK
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"172.22.86.226"
OK
BG95&BG77_HTTP(S)_Application_Note 25 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
OK
OK
OK
OK
AT+QHTTPURL=45,80 //Set the URL of the HTTPS server which will be accessed.
BG95&BG77_HTTP(S)_Application_Note 26 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
CONNECT
HTTPs://220.180.239.212:8011/processorder.php //Input the URL whose length is 45 bytes. (This
URL is only an example. Please input the correct
URL in practical test.)
OK
AT+QHTTPPOST=48,80,80 //Send HTTPS POST request. The maximum input body time is
80s and the maximum response time is 80s.
CONNECT
Message=1111&Appleqty=2222&Orangeqty=3333&find=1 //Input the POST body whose length
should be 48 bytes. (This POST body is
only an example. Please input the
correct one in practical test.)
OK
AT+QHTTPREAD=80 //Read HTTPS response body and output it via UART. The
maximum time to wait for HTTPS session to be closed is 80s.
CONNECT //Read HTTPS response body successfully.
<html>
<head>
<title>Quectel's Auto Parts - Order Results</title>
</head>
<body>
<h1>Quectel's Auto Parts</h1>
<h2>Order Results</h2>
OK
The following examples show how to send HTTPS POST request and retrieve POST body from file
system, as well as how to store HTTPS POST response to file system.
BG95&BG77_HTTP(S)_Application_Note 27 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
OK //No context activated currently.
AT+QICSGP=1,1, "UNINET","","",1 //Configure PDP context 1. APN is “UNINET” for China Unicom.
OK
AT+QIACT? //Query the list of the currently activated contexts and their IP
addresses.
+QIACT: 1,1,1,"172.22.86.226"
OK
OK
BG95&BG77_HTTP(S)_Application_Note 28 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
OK
OK
//POST request information from UFS file, and read the HTTPS response information through storing it to
a UFS file.
AT+QHTTPPOSTFILE="5.txt",80 //Send HTTPS POST request. The POST body is obtained
from “5.txt”, and the maximum response time is 80s.
OK
+QHTTPPOSTFILE: 0,200,285 //HTTPS POST request is sent successfully. And then the
HTTPS response body can be read via either
AT+QHTTPREAD or AT+QHTTPREADFILE command.
AT+QHTTPREADFILE="6.txt",80 //Read HTTPS response body through storing it to “6.txt”. The
maximum time to wait for HTTPS session to be closed is 80s.
OK
BG95&BG77_HTTP(S)_Application_Note 29 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
4 Error Handling
When executing HTTP(S) AT commands, if “ERROR” response is received from the module, please
check whether the (U)SIM card is inserted and whether it is “+CPIN: READY” returned when executing
AT+CPIN?.
If it is failed to activate a PDP context by AT+QIACT command, please check the following configurations:
1. Query the PS domain status by AT+CEREG? (for LTE Cat M and Cat NB2 networks) or AT+CGREG?
(for EGPRS network) and make sure the PS domain has been registered.
2. Query the PDP context parameters by AT+QICSGP=<contextID> command and make sure the APN
of the specified PDP context has been set.
3. Make sure the specified PDP context ID is neither used by PPP nor activated by AT+CGACT
command.
4 The module supports maximum three PDP contexts activated simultaneously under LTE Cat M/
EGPRS and maximum two under LTE Cat NB2.
If all above configurations are correct, but activating the PDP context by AT+QIACT command still fails,
please reboot the module to resolve this issue. After rebooting the module, please check the
configurations mentioned above at least three times and each time at an interval of 10 minutes to avoid
frequently rebooting the module.
BG95&BG77_HTTP(S)_Application_Note 30 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
If the DNS server address is null or “0.0.0.0”, there are three solutions:
1. Make sure the URL inputted via AT+HTTPURL command is valid and can be accessed.
2. Make sure the specified server supports GET/POST commands.
3. Make sure the PDP context has been activated successfully.
If all above configurations are correct, but sending GET/POST requests by AT+QHTTPGET,
AT+QHTTPPOST and AT+QHTTPPOSTFILE commands still fails, please deactivate the PDP context by
AT+QIDEACT and re-activate the PDP context by AT+QIACT to resolve this issue. If activating the PDP
context fails, please refer to Chapter 4.2 to resolve it.
BG95&BG77_HTTP(S)_Application_Note 31 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
“+QHTTPGET: <err>[,<httprspcode>[,<content_length>]]”/
“+QHTTPPOST: <err>[,<httprspcode>[,<content_length>]]”/
“+QHTTPPOSTFILE: <err>[,<httprspcode>,<content_length>]”
BG95&BG77_HTTP(S)_Application_Note 32 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
<err> Meaning
0 Operation successful
BG95&BG77_HTTP(S)_Application_Note 33 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
BG95&BG77_HTTP(S)_Application_Note 34 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
<httprspcode> Meaning
200 OK
403 Forbidden
409 Conflict
BG95&BG77_HTTP(S)_Application_Note 35 / 36
LPWA Module Series
BG95&BG77 HTTP(S) Application Note
7 Appendix A References
Abbreviation Description
BG95&BG77_HTTP(S)_Application_Note 36 / 36