请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC3220
您好!
我使用开箱即用应用程序将我的应用程序自定义为 cc3220 launchpad。
我想同时使用 HTTP Post 并在我的应用程序中频繁使用、有时只有 Get 正常工作并发布获取响应代码400。 有时、只有 Post 有效、Get 收到响应代码400。 我对出错的地方感到困惑。 即使我看到两个都正常工作的情况很少。 是否有人能帮助我解决我的问题?
我的代码如下所示、
//帖子//
httpClientHandle = HttpClient_create (&statusCode、0);
if (statusCode < 0)
{
printError ("httpTask:创建 http 客户端句柄失败"、
状态代码);
}
RET = HttpClient_setHeader (httpClientHandle、
HttpClient_HFIELD_REQ_authorization、
con_type、strlen (con_type)、
HttpClient_HFIELD_PERSISTENT);
if (ret < 0)
{
printError ("httpTask:设置请求标头失败"、ret);
}
RET = HttpClient_connect (https://ClientHandle、HOSTNAME、0、0);
if (ret < 0)
{
printError ("httpTask: connect failed"、ret);
}
RET =
HttpClient_sendRequest (httpClientHandle、HTTP_METHOD_POST、POST_URI、
builtBuff、strlen (builtBuff)、
0);
if (ret!=200){
mcuReboot();
}
if (ret < 0)
{
printError ("httpTask: send failed"、ret);
}
if (ret!= HTTP_SC_OK)
{
printError ("httpTask:无法获取状态"、ret);
}
Len = 0;
操作
{
RET = HttpClient_readResponseBody (httpClientHandle、data、sizeof (data)、
MoreDataFlag (&M);
if (ret < 0)
{
printError ("httpTask: Response body processing failed"、ret);
}
UART_PRINT ("%.*s \r\n"、ret、data);
len += ret;
}
while (moreDataFlag);
RET = HttpClient_ddisconnect (httpClientHandle);
if (ret < 0)
{
printError ("httpTask: disconnect failed"、ret);
}
HttpClient_Destroy (httpClientHandle);
HttpClient_handle httpClientHandle;
int16_t statusCode;
bool MoreDataFlag = false;
char data[HTTP_MIN_RECV];
int16_t ret = 0;
int16_t len = 0;
httpClientHandle = HttpClient_create (&statusCode、0);
if (statusCode < 0)
{
printError ("httpTask:创建 http 客户端句柄失败"、
状态代码);
}
RET = HttpClient_setHeader (httpClientHandle、
HttpClient_HFIELD_REQ_USER_AGENT、
USER_AGENT、strlen (USER_AGENT)、
0);
if (ret < 0)
{
printError ("httpTask:设置请求标头失败"、ret);
}
RET = HttpClient_connect (https://ClientHandle、HOSTNAME、0、0);
if (ret < 0)
{
printError ("httpTask: connect failed"、ret);
}
RET =
HttpClient_sendRequest (httpClientHandle、http_method_get、request_URI、
空、0、
0);
if (ret < 0)
{
printError ("httpTask: send failed"、ret);
}
if (ret!= HTTP_SC_OK)
{
printError ("httpTask:无法获取状态"、ret);
}
Len = 0;
操作
{
RET = HttpClient_readResponseBody (httpClientHandle、data、sizeof (data)、
MoreDataFlag (&M);
if (ret < 0)
{
printError ("httpTask: Response body processing failed"、ret);
}
UART_PRINT ("%.*s \r\n"、ret、data);
strcpy (builtBuff、data);
len += ret;
}
while (moreDataFlag);
RET = HttpClient_ddisconnect (httpClientHandle);
if (ret < 0)
{
printError ("httpTask: disconnect failed"、ret);
}
HttpClient_Destroy (httpClientHandle);
我尝试在延迟时间为1分钟/30秒的离线位置呼叫并获取呼叫。
谢谢你。