主题中讨论的其他器件:UNIFLASH
您好!
我将使用 SDK 中的 HTTP 客户端示例进行 GET 请求。 当我将 www.google.com 用作 HOSTNAME 时、它工作正常、我收到了 google 主页 html 以响应请求。 但是,当我用服务器链接替换相同的,我得到响应代码为404。 但是,如果我在基于 PC 的软件中使用相同的服务器链接,像 Postman 这样,我可以看到我的服务器完美地提供预期的响应获取请求。 下面是代码片段。 是否有任何关于这一问题的指导?
----------------
#define HOSTNAME"我的服务器链接"
#define Request_URI "/"
#define USER_AGENT "HttpClient (ARM;TI-RTOS)"
#define HTTP_MIN_RECV (256)
HttpClient_extSecParams secparams;
void functiona (void){
HttpClient_Handle httpClientHandle;
int16_t 状态代码;
httpClientHandle = HttpClient_create (&statusCode、0);
if (statusCode < 0)
{
display_printf (display、0、0、"httpTask:http 客户端句柄创建失败:%d "、
状态代码);
}
display_printf (display、0、0、"httpTask:客户端创建 ok\n");
RET =
HttpClient_setHeader (httpClientHandle、
HttpClient_HFIELD_REQ_USER_AGENT、//HttpClient_HFIELD_REQ_content_TYPE、
user_agent、strlen (user_agent)+1、
HttpClient_HFIELD_persistent);
if (ret < 0)
{
display_printf (display、0、0、"httpTask:设置请求标头失败:%d "、
RET);
}
display_printf (display、0、0、"httpTask:set header ok\n");
RET = HttpClient_CONNECT (httpClientHandle、HOSTNAME、&secparams、0);//&secparams 是必需的、否则此 API 不返回
if (ret < 0)
{
display_printf (display、0、0、"httpTask:连接失败:%d "、
RET);
}
display_printf (display、0、0、"httpTask:client connect ok\n");
RET =
HttpClient_sendRequest (httpClientHandle、HTTP_METHOD_Get、Request_URI
空、0、//sizeof (msg)、
0);
if (ret < 0)
{
Display_printf (display、0、0、"httpTask:发送失败:%d "、
RET);
}
display_printf (display、0、0、"httpTask:send request ok\n");
if (ret!= HTTP_SC_OK)
{
Display_printf (DISPLAY、0、0、"httpTask:无法获取 STATUS:%d "、
RET);
}
Display_printf (DISPLAY、0、0、"HTTP 响应状态代码:%d\n "、
RET);
LEN = 0;
操作
{
RET = HttpClient_readResponseBody (httpClientHandle、data、sizeof (data)、
moreDataFlag)(&M);
if (ret < 0)
{
display_printf (display, 0, 0,"httpTask:响应正文处理失败:%d ",
RET);
}
display_printf (display、0、0、"%.*s \r\n"、ret、data);
len += ret;
}
while (moreDataFlag);
display_printf (display、0、0、"received %d bytes of payload\n"、len);
REt = HttpClient_disconnect (httpClientHandle);
if (ret < 0)
{
Display_printf (DISPLAY、0、0、"httpTask:断开失败:%d "、
RET);
}
HttpClient_Destroy (httpClientHandle );
}
谢谢。
Pradeep