Updated version of HTTPClient test
Dependencies: EthernetInterface HTTPClient mbed-rtos mbed
Fork of HTTPClient_HelloWorld by
main.cpp@3:c90fdafaa113, 2015-02-18 (annotated)
- 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?
User | Revision | Line number | New 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 | } |