第6节 HTTP客户端固件
HTTP客户端可以通过ColdFire处理器读取internet上的网页和XML数据。HTTP客户端先通过DHCP客户端自动获取IP地址和其他的TCP/IP信息,包括DNS服务器的IP地址。然后通过DNS客户端将用户提供的URL转换成IP地址。
6.1 HTTP的GET请求方法的首部
该首部是由以下这些常量字符串产生的:
const unsigned char http_get_request[] = “GET” ;
const unsigned char http_compatability[] = “HTTP/1.1\r\nAccept:
*/*\r\nAccept-Language: en-us\r\nUser-Agent: Mozilla/4.0\r\n”;
const unsigned char http_host[] = “Host:” ;
const unsigned char http_keep_alive[] = “Connection: Keep-Alive\r\n”;
const unsigned char http_done[] = “\r\n”;
http_get_request[]
6.2 HTTP客户端文件
emg_http_client.h
声明外部函数和HTTP客户端常量。
#define EMG_HTTP_CLIENT_TK_SLEEP_SEC 200
每秒多少cticks数(定义在main.c中)
#define EMG_HTTP_CLIENT_PACKET_WAIT_SEC10
等待分组分配完成的最大秒数
#define EMG_HTTP_CLIENT_DNS_SEARCH_TIME_SECS 10
等待DNS回复的最大秒数
#define EMG_HTTP_CLIENT_RX_TIME_SECS 30
关闭连接前,等待RX数据传输结束的最大秒数。
emg_http_client.c
当前(actual)HTTP客户端。
wget_byEricGregori.c
如何使用HTTP客户端的驱动实例的一个命令行。
wget命令被加入TCP/IP协议栈的菜单系统,它允许从串口直接获取网页。
6.1 HTTP的GET请求方法的首部
该首部是由以下这些常量字符串产生的:
const unsigned char http_get_request[] = “GET” ;
const unsigned char http_compatability[] = “HTTP/1.1\r\nAccept:
*/*\r\nAccept-Language: en-us\r\nUser-Agent: Mozilla/4.0\r\n”;
const unsigned char http_host[] = “Host:” ;
const unsigned char http_keep_alive[] = “Connection: Keep-Alive\r\n”;
const unsigned char http_done[] = “\r\n”;
http_get_request[]
- ——接下来就是被请求URL的文件名部分(/后的内容)。
- ——兼容性字符串告诉HTTP服务器我们使用的语法版本和支持的浏览器类型。
- ——首部的host部分是HTTP规范所要求的。如果首部没有host字符串,大多数web服务器连接都会失败的。Apache服务器会回复一个非法首部错误。host字符串必须包含客户端正要连接的服务器主机名。例如:HTUwww.emgware.comUTH或HTUwww.freescale.comUTH。
- ——只有当HTTP客户端在接收到文件后还希望保持TCP/IP连接时,才需要设置keep-alive字符串。
- ——HTTP首部的最后一行是空行。告诉服务器已经没有其他字段了。
6.2 HTTP客户端文件
emg_http_client.h
声明外部函数和HTTP客户端常量。
#define EMG_HTTP_CLIENT_TK_SLEEP_SEC 200
每秒多少cticks数(定义在main.c中)
#define EMG_HTTP_CLIENT_PACKET_WAIT_SEC10
等待分组分配完成的最大秒数
#define EMG_HTTP_CLIENT_DNS_SEARCH_TIME_SECS 10
等待DNS回复的最大秒数
#define EMG_HTTP_CLIENT_RX_TIME_SECS 30
关闭连接前,等待RX数据传输结束的最大秒数。
emg_http_client.c
当前(actual)HTTP客户端。
wget_byEricGregori.c
如何使用HTTP客户端的驱动实例的一个命令行。
wget命令被加入TCP/IP协议栈的菜单系统,它允许从串口直接获取网页。


