Simple HTTP Client Example with HTTPClient class

Dependencies:   HTTPClient mbed-rtos mbed-src

Committer:
takashikojo
Date:
Mon Dec 01 01:10:41 2014 +0000
Revision:
1:24d373f4f0ea
Parent:
0:880477b153ac
Child:
2:caac3459ca52
Initial version, HTTP client example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
takashikojo 0:880477b153ac 1 #include "mbed.h"
takashikojo 0:880477b153ac 2 #include "EthernetInterface.h"
takashikojo 1:24d373f4f0ea 3 #include "HTTPClient.h"
takashikojo 0:880477b153ac 4
takashikojo 1:24d373f4f0ea 5 #define HOST "192.168.1.12"
takashikojo 1:24d373f4f0ea 6
takashikojo 1:24d373f4f0ea 7 EthernetInterface eth;
takashikojo 1:24d373f4f0ea 8 HTTPClient http;
takashikojo 1:24d373f4f0ea 9 char str[1024*20];
takashikojo 1:24d373f4f0ea 10
takashikojo 1:24d373f4f0ea 11 void main_body(void const *av) {
takashikojo 1:24d373f4f0ea 12 char url[100] ;
takashikojo 1:24d373f4f0ea 13 int ret ;
takashikojo 1:24d373f4f0ea 14 //GET data
takashikojo 1:24d373f4f0ea 15
takashikojo 1:24d373f4f0ea 16 printf("\nTrying to fetch page...\n");
takashikojo 1:24d373f4f0ea 17 sprintf(url, "http://%s/", HOST) ;
takashikojo 1:24d373f4f0ea 18 printf("url=%s\n",url) ;
takashikojo 1:24d373f4f0ea 19 ret = http.get(url, str, sizeof(str)-1,16);
takashikojo 1:24d373f4f0ea 20 if (!ret) {
takashikojo 1:24d373f4f0ea 21 printf("Page fetched successfully - read %d characters\n", strlen(str));
takashikojo 1:24d373f4f0ea 22 printf("Result: %s\n", str);
takashikojo 1:24d373f4f0ea 23 } else {
takashikojo 1:24d373f4f0ea 24 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
takashikojo 0:880477b153ac 25 }
takashikojo 0:880477b153ac 26
takashikojo 1:24d373f4f0ea 27 }
takashikojo 1:24d373f4f0ea 28
takashikojo 1:24d373f4f0ea 29 int main()
takashikojo 1:24d373f4f0ea 30 {
takashikojo 1:24d373f4f0ea 31 int ret ;
takashikojo 1:24d373f4f0ea 32 void *av ;
takashikojo 1:24d373f4f0ea 33 printf("HTTP Client Starting,...\n") ;
takashikojo 1:24d373f4f0ea 34 ret = eth.init(); //Use DHCP
takashikojo 1:24d373f4f0ea 35 while(1) {
takashikojo 1:24d373f4f0ea 36 ret = eth.connect();
takashikojo 1:24d373f4f0ea 37 if(ret == 0)break ;
takashikojo 1:24d373f4f0ea 38 }
takashikojo 1:24d373f4f0ea 39 printf("IP = %s\n", eth.getIPAddress());
takashikojo 1:24d373f4f0ea 40
takashikojo 1:24d373f4f0ea 41 #define STACK_SIZE 20000
takashikojo 1:24d373f4f0ea 42 //Thread t(main_body, NULL, osPriorityNormal, STACK_SIZE);
takashikojo 1:24d373f4f0ea 43 main_body(av) ;
takashikojo 1:24d373f4f0ea 44 eth.disconnect();
takashikojo 1:24d373f4f0ea 45 while(1) {
takashikojo 1:24d373f4f0ea 46 }
takashikojo 1:24d373f4f0ea 47
takashikojo 0:880477b153ac 48 }