Updated version of HTTPClient test

Dependencies:   EthernetInterface HTTPClient mbed-rtos mbed

Fork of HTTPClient_HelloWorld by Donatien Garnier

Committer:
bridadan
Date:
Wed Feb 18 23:48:12 2015 +0000
Revision:
3:c90fdafaa113
Parent:
2:270e2d0bb85a
Changed Get URL, used updated HTTPClient library, and kept ethernet connection open for pinging.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:0e0debc29569 1 #include "mbed.h"
donatien 0:0e0debc29569 2 #include "EthernetInterface.h"
donatien 0:0e0debc29569 3 #include "HTTPClient.h"
donatien 0:0e0debc29569 4
donatien 1:d263603373ac 5 EthernetInterface eth;
donatien 1:d263603373ac 6 HTTPClient http;
donatien 1:d263603373ac 7 char str[512];
donatien 1:d263603373ac 8
donatien 0:0e0debc29569 9 int main()
donatien 0:0e0debc29569 10 {
bridadan 3:c90fdafaa113 11 printf("Initializing ethernet\n");
donatien 0:0e0debc29569 12 eth.init(); //Use DHCP
bridadan 3:c90fdafaa113 13 printf("Initialization complete. Attempting to connect...\n");
bridadan 3:c90fdafaa113 14
bridadan 3:c90fdafaa113 15 if (eth.connect() < 0) {
bridadan 3:c90fdafaa113 16 // Error
bridadan 3:c90fdafaa113 17 printf("Error! Ethernet failed to connect.\n");
bridadan 3:c90fdafaa113 18 } else {
bridadan 3:c90fdafaa113 19 // Success
bridadan 3:c90fdafaa113 20 printf("Ethernet connected successfully.\n");
bridadan 3:c90fdafaa113 21 printf("IP Address: %s\n", eth.getIPAddress());
bridadan 3:c90fdafaa113 22 printf("Gateway: %s\n", eth.getGateway());
bridadan 3:c90fdafaa113 23 printf("MAC Address %s\n", eth.getMACAddress());
bridadan 3:c90fdafaa113 24 }
donatien 0:0e0debc29569 25
donatien 0:0e0debc29569 26 //GET data
donatien 2:270e2d0bb85a 27 printf("\nTrying to fetch page...\n");
bridadan 3:c90fdafaa113 28 int ret = http.get("http://httpbin.org/get", str, 128);
donatien 0:0e0debc29569 29 if (!ret)
donatien 0:0e0debc29569 30 {
donatien 0:0e0debc29569 31 printf("Page fetched successfully - read %d characters\n", strlen(str));
donatien 0:0e0debc29569 32 }
donatien 0:0e0debc29569 33 else
donatien 0:0e0debc29569 34 {
donatien 0:0e0debc29569 35 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:0e0debc29569 36 }
donatien 1:d263603373ac 37
donatien 0:0e0debc29569 38 //POST data
donatien 0:0e0debc29569 39 HTTPMap map;
donatien 2:270e2d0bb85a 40 HTTPText inText(str, 512);
donatien 0:0e0debc29569 41 map.put("Hello", "World");
donatien 0:0e0debc29569 42 map.put("test", "1234");
donatien 2:270e2d0bb85a 43 printf("\nTrying to post data...\n");
donatien 2:270e2d0bb85a 44 ret = http.post("http://httpbin.org/post", map, &inText);
donatien 0:0e0debc29569 45 if (!ret)
donatien 0:0e0debc29569 46 {
donatien 0:0e0debc29569 47 printf("Executed POST successfully - read %d characters\n", strlen(str));
donatien 0:0e0debc29569 48 }
donatien 0:0e0debc29569 49 else
donatien 0:0e0debc29569 50 {
donatien 0:0e0debc29569 51 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:0e0debc29569 52 }
donatien 0:0e0debc29569 53
donatien 2:270e2d0bb85a 54 //PUT data
donatien 2:270e2d0bb85a 55 strcpy(str, "This is a PUT test!");
donatien 2:270e2d0bb85a 56 HTTPText outText(str);
donatien 2:270e2d0bb85a 57 //HTTPText inText(str, 512);
donatien 2:270e2d0bb85a 58 printf("\nTrying to put resource...\n");
donatien 2:270e2d0bb85a 59 ret = http.put("http://httpbin.org/put", outText, &inText);
donatien 2:270e2d0bb85a 60 if (!ret)
donatien 2:270e2d0bb85a 61 {
donatien 2:270e2d0bb85a 62 printf("Executed PUT successfully - read %d characters\n", strlen(str));
donatien 2:270e2d0bb85a 63 }
donatien 2:270e2d0bb85a 64 else
donatien 2:270e2d0bb85a 65 {
donatien 2:270e2d0bb85a 66 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 2:270e2d0bb85a 67 }
donatien 2:270e2d0bb85a 68
donatien 2:270e2d0bb85a 69 //DELETE data
donatien 2:270e2d0bb85a 70 //HTTPText inText(str, 512);
donatien 2:270e2d0bb85a 71 printf("\nTrying to delete resource...\n");
donatien 2:270e2d0bb85a 72 ret = http.del("http://httpbin.org/delete", &inText);
donatien 2:270e2d0bb85a 73 if (!ret)
donatien 2:270e2d0bb85a 74 {
donatien 2:270e2d0bb85a 75 printf("Executed DELETE successfully - read %d characters\n", strlen(str));
donatien 2:270e2d0bb85a 76 }
donatien 2:270e2d0bb85a 77 else
donatien 2:270e2d0bb85a 78 {
donatien 2:270e2d0bb85a 79 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 2:270e2d0bb85a 80 }
donatien 2:270e2d0bb85a 81
bridadan 3:c90fdafaa113 82 printf("Keeping ethernet connection open for pinging\n");
bridadan 3:c90fdafaa113 83 printf("IP Address: %s\n", eth.getIPAddress());
bridadan 3:c90fdafaa113 84 printf("Gateway: %s\n", eth.getGateway());
bridadan 3:c90fdafaa113 85 printf("MAC Address %s\n", eth.getMACAddress());
donatien 0:0e0debc29569 86 while(1) {
donatien 0:0e0debc29569 87 }
donatien 0:0e0debc29569 88 }