M95 TCP HTTP GET request returns “400 Bad Request”

Hello,

I am using a Quectel M95 module to send an HTTP GET request to the ThingSpeak API over a TCP connection.
My AT command sequence is:

AT
AT+CPIN?
AT+CREG?
AT+CGREG?
AT+CGATT?
AT+QICSGP=1,"internet","",""
AT+QIOPEN="TCP","3.218.62.1",80
AT+QISEND

I send the following HTTP request:

GET /channels/2962571/fields/1.json?api_key=XD2MV25INO4SVTRE HTTP/1.0\r\n
Host: api.thingspeak.com\r\n
\r\n

The module accepts the data (SEND OK), but the server responds with:

HTTP/1.1 400 Bad Request
Connection: close
CLOSED

Question:
Why does the M95 return 400 Bad Request for this GET request?
Is the problem related to HTTP version, missing headers, wrong CRLF format, or the request structure required by M95?

Any help is appreciated.

Hi,
Please check how the headers and body of the accessed webpage are configured, and then use these instructions to configure the relevant fields, such as:
AT+QHTTPCFG=“header”,“CID: 1001108905”
AT+QHTTPCFG=“header”,“Authorization: 77b53d1d0bf0ad2e7cd473df19e61122”