Thread 中讨论的其他器件:SYSBIOS、
您好!
我尝试在 https://postman-echo.com 上发布 我在 TI 论坛中找到的代码。 我在使用 HTTPCli_sendRequestBody ()成功发布后调用 HTTPCli_getResponseStatus (&CLI)时收到错误400。 有没有人以前对此有过经验? 感谢您的帮助。 下面是我的代码供您参考。
谢谢。
适用于 TivaC 2.16.01.14的 TI-RTOS、
xdctools v 3.32.0.06_core
WolfSSl 版本: 3.9.10-稳定
/*********** HTTPS 通信代码***** /
HTTPCli_Params 参数;
HTTPCli_Struct CLI;
HTTPCli_Field 字段[3]={
{HTTPStd_field_name_host、HOSTNAME}、
{HTTPStd_field_name_content_type、content_type}、
{ NULL,NULL }
};
startntp();
System_printf ("将 HTTPS POST 请求发送至"%s"、HOSTNAME);
system_flush();
TLS_PARAMS_INIT (&tlsParams);
tlsParams.ca =大约;
tlsParams.calen = calen;
TLS = TLS_create (TLS_method_client_TLSv1_2、&tlsParams、NULL);
如果(!TLS){
printError ("httpsTask: TLS create failed"、-1);
}
HTTPCli_structure (&cli);
HTTPCli_setRequestFields (&CLI、字段);
HTTPCli_setResponseFields (&cli、respFields);
REt = HTTPCli_initSockAddr ((struct sockaddr *)&addr、"">https://postman-echo.com/POST"、0);
如果(ret < 0){
printError("httpsTask:地址解析失败\n", ret);
}
params.tls = TLS;
HTTPCli_params_init (¶ms);
REt = HTTPCli_connect (&CLI、(struct sockaddr *)&addr、HTTPCli_TYPE_TLS、¶ms);
如果(ret < 0){
printError("httpsTask:连接失败\n", ret);
}
RET = HTTPCli_sendRequest (&CLI、HTTPStd_post、request_URI、true);
如果(ret < 0){
printError("httpsTask: send failed\n", ret);
}
否则
{
System_printf ("sendRequest successfully\n");
}
RET = HTTPCli_sendField (&CLI、HTTPStd_field_name_content_length、content_length、false);
RET = HTTPCli_sendField (&CLI、HTTPStd_field_name_content_type、content_type、true);
如果(ret < 0){
printError("httpTask:发送失败\n", ret);
}
否则{
System_printf ("sendField 成功\n");
}
REt = HTTPCli_sendRequestBody (&CLI、data、strlen (data));
如果(ret < 0){
printError("httpTask:变量数据无法发送\n", ret);
}
否则{
System_printf ("已成功发送数据\n");
}
REt = HTTPCli_getResponseStatus (&CLI);//此处我收到代码为400的错误