This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/SIMPLELINK-CC3220-SDK: HTTPClient_ERESPONSEINVALID

Part Number: SIMPLELINK-CC3220-SDK

Tool/software: Code Composer Studio

Hello
I use HTTPClient with CC3220.
Normally there is no problem, but the result of HTTPClient_sendRequest () executed immediately after Power ON always returns (-3003) HTTPClient_ERESPONSEINVALID.
After one or two retries, processing will be successful and (200) OK will be returned.
How can I avoid this problem?
Below is the source list and when you get an error

httpget.c

HTTPClient_Handle httpClientHandle;
int16_t statusCode;


// https enabling
HTTPClient_extSecParams httpClientSecParams;

httpClientSecParams.privateKey = NULL;
httpClientSecParams.clientCert = NULL;
httpClientSecParams.rootCa = "Baltimore_CyberTrust_Root.der";


while(1){

httpClientHandle = HTTPClient_create((int16_t *)&statusCode,0);
if (statusCode < 0)
{
UART_PRINT("httpTask: creation of http client handle failed %d\r\n", statusCode);
while(1);
}

strcpy(t_Url,"x-api-key");
ret =HTTPClient_setHeaderByName(httpClientHandle,
HTTPClient_HFIELD_REQ_AUTHORIZATION ,
t_Url,
API_SET_HEADER_AUTH,strlen(API_SET_HEADER_AUTH)+1,
HTTPClient_HFIELD_PERSISTENT);
ret |=
HTTPClient_setHeaderByName(httpClientHandle,
HTTPClient_HFIELD_REQ_AUTHORIZATION,
t_Url,
gsMachineID,strlen(gsMachineID)+1,
HTTPClient_HFIELD_PERSISTENT);
strcpy(t_Url,"accept");
ret |=HTTPClient_setHeaderByName(httpClientHandle,
HTTPClient_HFIELD_REQ_ACCEPT ,
t_Url,
API_SET_HEADER_ACCE,
strlen(API_SET_HEADER_ACCE)+1,
HTTPClient_HFIELD_PERSISTENT);
strcpy(t_Url,"User-Agent");
ret |=HTTPClient_setHeaderByName(httpClientHandle,
HTTPClient_HFIELD_REQ_USER_AGENT ,
t_Url,
USER_AGENT,strlen(USER_AGENT)+1,
HTTPClient_HFIELD_PERSISTENT);
if (ret < 0) {


}

strcpy(t_Url,HOSTNAME);

ret = HTTPClient_connect(httpClientHandle,t_Url,&httpClientSecParams,0);
if (ret < 0) {

}
while(1){
sem_wait(&readSem);

erCntHTTP = 0;
do{
ret = HTTPClient_sendRequest(httpClientHandle,
t_Method,
t_Url,
t_BodyMsg_s,
strlen(t_BodyMsg_s),
0);

if (ret != HTTP_SC_OK) {


}
}while(ret < 0);

httpclient.c

/*
* ======== getStatus ========
* Processes the response line to get the status
*/
static int16_t getStatus(HTTPClient_CB *cli)
{

,,,

/* Verify HTTP version is 1.1 or 1.0 */
if (strncmp(cli->validBufStart, HTTPStr_VER1_1, vLen) && strncmp(cli->validBufStart, HTTPStr_VER1_0,vLen ))
{
int i,j;
j = cli->validBufEnd - cli->validBufStart;
UART_PRINT("not a valid HTTP version ");
for (i = 0 ;i < j; i++){
UART_PRINT(" %02x",*(cli->validBufStart+i));
}
UART_PRINT("\r\n");

/* not a valid HTTP version */
return (HTTPClient_ERESPONSEINVALID);
}

,,,

}

It is the data of cli-> validBufEnd dumped from cli-> validBufStart.

"not a valid HTTP version 

86 ca e8 43 49 7d 15 4e 45 f9 46 57 c2 c3 26 65 8f 66 52 e8 80 9d 85 dd a2 e0
bb 52 20 b1 d7 75 9a 65 4c e5 09 f6 92 a6 30 8a e9 6d ba 1b ae 02 9e 47 8a 9c
12 ad fd 1d c5 e1 68 aa 79 87 a4 da cd a1 5e d8 67 bd 11 2e 00 ec 62 7b 4a a6
1a 24 6b ce fa 70 28 0a 54 28 00 b1 30 91 f5 e9 fb 4f 1e d7 9b e6 b9 5d 48 71
cb 66 ae 54 6d 8b cc c4 95 a4 71 ff 96 cb 70 c8 9a 1f 97 72 22 53 21 e8 3d 44
61 f7 46 8e 79 61 c8 28 f5 91 4c 19 0b 59 2d 6c ec d1 41 9b b6 35 6d 5a eb 7e
9d 83 b5 f7 7a 12 0f d8 62 70 e4 23 58 51 d8 dc bd 83 8e ad c7 5c b9 c7 a9 03
2f 3e 2b 17 44 3a 25 86 20 89 9c 02 d9 d1 f3 6f 39 27 86 e7 80 bd a8 ab 5d 21
53 9d e8 b8 ef 21 c7 f2 03 52 00 1c f4 c2 88 63 fa 54 14 75 0e 3d 09 52 7a 7b
5c e3 c8 77 84 f8 10 4b 26 f9 81 d2 ae e6 fe ae c0 e1 72 f6 6b 9c 9d b1 6d e2
f3 b8 19 f5 50 19 9d a5 c7 f3 4f a4 5a 57 d8 38 d3 26 0e 61 9d 81 3e 75 04 e3
43 e5 fa b7 75 eb 63 78 c0 17 1e ec 17 94 03 88 1f 49 73 21 09 06 79 1d 60 b3
93 a0 67 a8 dd 72 36 cf 9d 24 f1 90 de 6b 7f 89 77 c2 5a de 2f 75 95 ac 25 0b
16 03 03 00 04 0e 00 00 00"



Thank you.

H.Wt