# HTTP client AT commands

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

Table : HTTP client AT commands

| Command | Description |
| --- | --- |
| [AT+HTTPCLIENT](http_client_at_commands.html#at_httpclient) | Send HTTP client request |
| [AT+HTTPGETSIZE](http_client_at_commands.html#at_httpgetsize) | Get HTTP resource size |
| [AT+HTTPGET](http_client_at_commands.html#at_httpget) | Get HTTP resource |
| [AT+HTTPPOST](http_client_at_commands.html#at_httppost) | Post HTTP data |
| [AT+HTTPPUT](http_client_at_commands.html#at_httpput) | Put HTTP data |
| [AT+HTTPURLCFG](http_client_at_commands.html#at_httpurlcfg) | Set/Query long HTTP URL |
| [AT+HTTPSSLCFG](http_client_at_commands.html#at_httpsslcfg) | Set/Query certificate file |
| [AT+HTTPNETCFG](http_client_at_commands.html#at_httpnetcfg) | Set/Query net configuration |

## AT+HTTPCLIENT

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command sends HTTP client requests.

### Operation type

Execution

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPCLIENT | +HTTPCLIENT=&lt;opt&gt;,&lt;content-type&gt;,&lt;"url"&gt;,[&lt;"data"&gt;],[&lt;"http\_req\_header"&gt;],[...]<br><br><br>                <br>OK |
| AT+HTTPCLIENT=&lt;opt&gt;,&lt;content-type&gt;,&lt;"url"&gt;,[&lt;"data"&gt;],[&lt;"http\_req\_header"&gt;],[...] | You receive one of the following responses depending on the command:<ul class="ul" id="at_httpclient__ul_rhm_3s4_m2c"><br>                  <li class="li">+HTTPC:OK</li><br><br>                  <li class="li">+HTTPC:&lt;data&gt;,&lt;size&gt;</li><br><br>                  <li class="li">+HTTPC:ERROR</li><br><br>                </ul> |

### Defined values

- `<opt>`: Method of HTTP client request
    - `1`: HEAD
    - `2`: GET
    - `3`: POST
    - `4`: PUT
- `<content-type>`: Data type of HTTP client request
    - `0`: application/x-www-form-urlencoded
    - `1`: application/json
    - `2`: application/zip
    - `3`: multipart/form-data
    - `4`: text/xml
- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.
- `<"data">`: If `<opt>` is a POST/PUT request, this parameter holds the data you send to the HTTP server. If not, this parameter doesn't exist.
- `<"http_req_header">`: Multiple request headers can be sent to the server. The max number of request headers is 10.

## AT+HTTPGETSIZE

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command gets HTTP resource size.

### Operation type

Execution

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPGETSIZE | +HTTPGETSIZE=&lt;"url"&gt;,[&lt;timeout&gt;]<br><br><br>                <br>OK |
| AT+HTTPGETSIZE=&lt;"url"&gt;,[&lt;timeout&gt;] | +HTTPGETSIZE:&lt;size&gt;<br><br><br>                <br>OK |

### Defined values

- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.
- `<timeout>`: Network timeout. Unit: millisecond; default: 5000; range: [0,1800000].

## AT+HTTPGET

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command gets HTTP resource.

### Operation type

Execution

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPGET | +HTTPCGET=&lt;"url"&gt;,[&lt;timeout&gt;]<br><br><br>                <br>OK |
| AT+HTTPGET=&lt;"url"&gt;,[&lt;timeout&gt;] | +HTTPGET:&lt;data&gt;,&lt;size&gt;<br><br><br>                <br>OK |

### Defined values

- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.
- `<timeout>`: Network timeout. Unit: millisecond; default: 5000; range: [0,1800000].

## AT+HTTPPOST

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command posts HTTP data.

### Operation type

Execution

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPPOST | +HTTPPOST=&lt;"url"&gt;,&lt;length&gt;,[&lt;"http\_req\_header"&gt;],[...]<br><br><br>                <br>OK |
| AT+HTTPPOST=&lt;"url"&gt;,&lt;length&gt;,[&lt;"http\_req\_header"&gt;],[...] | <ol class="ol" id="at_httppost__ol_mpn_j54_m2c"><br>                  <li class="li"><br>                    <p class="p">First response:</p><br><br>                    <p class="p">OK </p><br><br>                    <p class="p">&gt; </p><br><br>                  </li><br><br>                  <li class="li"><br>                    <p class="p">Second response when the data is sent:</p><br><br>                    <p class="p">+HTTPC:&lt;data&gt;,&lt;size&gt;</p><br><br>                    <p class="p">+HTTPCPOST:SEND OK</p><br><br>                    <p class="p">or</p><br><br>                    <p class="p">+HTTPCPOST:SEND FAIL</p><br><br>                  </li><br><br>                </ol> |

### Defined values

- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.
- `<length>`: The length of the HTTP data to be posted. The maximum length is 1000.
- `<"http_req_header">`: Multiple request headers can be sent to the server. The maximum number of request headers is 10.

## AT+HTTPPUT

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command puts HTTP data.

### Operation type

Execution

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPPUT | +HTTPPUT=&lt;"url"&gt;,&lt;content\_type&gt;,&lt;length&gt;,[&lt;"http\_req\_header"&gt;],[...]<br><br><br>                <br>OK |
| AT+HTTPPUT=&lt;"url"&gt;,&lt;content\_type&gt;,&lt;length&gt;,[&lt;"http\_req\_header"&gt;],[...] | <ol class="ol" id="at_httpput__ol_mpn_j54_m2c"><br>                  <li class="li"><br>                    <p class="p">First response:</p><br><br>                    <p class="p">OK </p><br><br>                    <p class="p">&gt;</p><br><br>                  </li><br><br>                  <li class="li"><br>                    <p class="p">Second response when the data is sent:</p><br><br>                    <p class="p">+HTTPC:&lt;data&gt;,&lt;size&gt;</p><br><br>                    <p class="p">+HTTPCPUT:SEND OK</p><br><br>                    <p class="p">or</p><br><br>                    <p class="p">+HTTPCPUT:SEND FAIL</p><br><br>                  </li><br><br>                </ol> |

### Defined values

- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.
- `<content-type>`: Data type of HTTP client request
    - `0`: application/x-www-form-urlencoded
    - `1`: application/json
    - `2`: application/zip
    - `3`: multipart/form-data
    - `4`: text/xml
- `<length>`: HTTP data length to put. The maximum length is 1000.
- `<"http_req_header">`: Multiple request headers can be sent to the server. The max number of request headers is 10.

## AT+HTTPURLCFG

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command sets or queries long HTTP URL.

### Operation type

Set/Query

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPURLCFG | +HTTPURLCFG=&lt;length&gt;<br><br><br>                <br>OK |
| AT+HTTPURLCFG? | +HTTPURLCFG:&lt;length&gt;,&lt;url&gt;<br><br><br>                <br>OK |
| AT+HTTPURLCFG=&lt;length&gt; | <ol class="ol" id="at_httpurlcfg__ol_mpn_j54_m2c"><br>                  <li class="li"><br>                    <p class="p">First response:</p><br><br>                    <p class="p">OK </p><br><br>                    <p class="p">&gt; </p><br><br>                  </li><br><br>                  <li class="li"><br>                    <p class="p">Second response when the data is sent:</p><br><br>                    <p class="p">OK</p><br><br>                    <p class="p">or</p><br><br>                    <p class="p">FAIL</p><br><br>                  </li><br><br>                </ol> |

### Defined values

- `<length>`: HTTP URL length to be set. The maximum length is 256.
    - `0`: Clear the HTTP URL configuration
    - `[8, 256]`: Set the HTTP URL configuration
- `<"url">`: HTTP/HTTPS URL. 
    This is a string parameter and should be enclosed with quotes.

## AT+HTTPSSLCFG

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command sets or queries the certificate file.

### Operation type

Set/Query

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPSSLCFG | +HTTPSSLCFG=&lt;scheme&gt;,[&lt;"cert\_file"&gt;],[&lt;"key\_file"&gt;],[&lt;"ca\_file"&gt;]<br><br><br>                <br>OK |
| AT+HTTPSSLCFG? | +HTTPSSLCFG:&lt;scheme&gt;,[&lt;"cert\_file"&gt;],[&lt;"key\_file"&gt;],[&lt;"ca\_file"&gt;]<br><br><br>                <br>OK |
| AT+HTTPSSLCFG=&lt;scheme&gt;,[&lt;"cert\_file"&gt;],[&lt;"key\_file"&gt;],[&lt;"ca\_file"&gt;] | OK |

### Defined values

- `<scheme>`:
    - `0`: HTTPS no certificate verification
        When `<scheme>=0`, `<"cert_file">`, `<"key_file">` and `<"ca_file">` are no longer required, use the command: `AT+HTTPSSLCFG=0`.
    - `1`: HTTPS verify the server certificate
    - `2`: HTTPS provide the client certificate (currently not supported)
    - `3`: HTTPS verify the server certificate and provide the client certificate
- `<"cert_file">`: The file path of the certificate
- `<"key_file">`: The file path of the private key
- `<"ca_file">`: The file path of CA used by the client to verify the server

### Examples

    AT+HTTPSSLCFG=3,"/lfs/cert","/lfs/key","/lfs/ca"Copy to clipboard

Note:The following procedure shows an example of how to generate a binary file from certificates and program it to flash:
1. Install `littlefs-tools` for python by using the following command:

        pip install littlefs-toolsCopy to clipboard
2. Enter the project root directory, and then use the following command to create a folder named mycert:

        mkdir .\tools\fs_tools\mycertCopy to clipboard
3. Copy the certificate or key files into the .\tools\fs\_tools\mycert directory.
4. Enter the .\tools\fs\_tools directory, and then generate the lfsimg.bin file in the same directory by using the following command:

        python lfsimg.py -s mycertCopy to clipboard
5. (Optional) To inspect the contents of lfsimg.bin, use the following command:

        python lfsimg.py -f lfsimg.binCopy to clipboard
6. Program the certificate image by using the following command:

        python nvm_programmer.py -s ch347 -f ..\fs_tools\lfsimg.bin -b 0x3000 -n flash –resetCopy to clipboard

After programming completes, the certificate or key files are available under the /lfs directory on the device.

## AT+HTTPNETCFG

Source: [https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html](https://docs.qualcomm.com/doc/80-Y8730-10/topic/http_client_at_commands.html)

This command sets or queries the net configuration.

### Operation type

Set/Query

### Syntax

| Command | Response |
| --- | --- |
| AT+HTTPNETCFG | +HTTPNETCFG=&lt;netcfg\_type&gt;,&lt;value&gt;<br><br><br>                                <br>OK |
| AT+HTTPNETCFG? | +HTTPNETCFG:&lt;http port&gt;,&lt;https port&gt;,&lt;ip prefer&gt;,&lt;pre-allocate\_ssl\_buf&gt;,&lt;data cache&gt;<br><br><br>                                <br>OK |
| AT+HTTPNETCFG=&lt;netcfg\_type&gt;,&lt;value&gt; | OK |

### Defined values

- `<netcfg_type>`:
    - `0`: Configure the HTTP port
    - `1`: Configure the HTTPS port
    - `2`: Configure the preferred IP version
    - `3`: Configure the pre-allocate\_ssl\_buf function
    - `4`: Configure the data cache function
    - `5`: Configure the keep-alive mode
- `<value>`: Net configuration value:
    - When `netcfg_type=0`: The value for the HTTP port with the range of [0-65535]. Default value: 80.
    - When `netcfg_type=1`: The value for the HTTPS port with the range of [0-65535]. Default value: 443.
    - When `netcfg_type=2`: The value for the preferred IP version:
        - `0`: IPv4 (default value)
        - `1`: IPv6
    - When `netcfg_type=3`: The value for pre-allocate\_ssl\_buf:
        - `0`: Default value
        - `1`: Pre-allocate buffer for SSL
        - `2`: Release pre-allocated buffer
    - When `netcfg_type=4`: The value for the data cache function. Data cache is used for HTTP POST/PUT scenarios where a piece of data might be transmitted in multiple parts over SPI.
        - `0`: Disable data cache. The data is sent immediately.
        - `1`: Enable data cache (default value). The data is sent when all data has been received.
    - When `netcfg_type=5`: The value for the keep-alive configuration.
        - `0`: Disable keep-alive. The connection will be closed after the HTTP request.
        - `1`: Enable keep-alive. The connection won't be closed after the HTTP request.

Last Published: Jun 03, 2026

[Previous Topic
MQTT client AT commands](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-10/topics/mqtt_client_at_commands.md) [Next Topic
HTTP server AT commands](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-10/topics/http_server_at_commands.md)