http
Dependencies: EthernetInterface HTTPClient mbed-rtos mbed
main.cpp@0:7c79134d4f23, 2014-09-12 (annotated)
- Committer:
- planglois
- Date:
- Fri Sep 12 17:14:15 2014 +0000
- Revision:
- 0:7c79134d4f23
- Child:
- 1:d29e4c5d19bb
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
planglois | 0:7c79134d4f23 | 1 | #include "mbed.h" |
planglois | 0:7c79134d4f23 | 2 | #include "EthernetInterface.h" |
planglois | 0:7c79134d4f23 | 3 | #include "HTTPClient.h" |
planglois | 0:7c79134d4f23 | 4 | |
planglois | 0:7c79134d4f23 | 5 | EthernetInterface eth; |
planglois | 0:7c79134d4f23 | 6 | HTTPClient http; |
planglois | 0:7c79134d4f23 | 7 | char str[512]; |
planglois | 0:7c79134d4f23 | 8 | |
planglois | 0:7c79134d4f23 | 9 | int main() |
planglois | 0:7c79134d4f23 | 10 | { |
planglois | 0:7c79134d4f23 | 11 | eth.init(); //Use DHCP |
planglois | 0:7c79134d4f23 | 12 | |
planglois | 0:7c79134d4f23 | 13 | eth.connect(); |
planglois | 0:7c79134d4f23 | 14 | |
planglois | 0:7c79134d4f23 | 15 | //GET data |
planglois | 0:7c79134d4f23 | 16 | printf("\nTrying to fetch page...\n"); |
planglois | 0:7c79134d4f23 | 17 | int ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128); |
planglois | 0:7c79134d4f23 | 18 | if (!ret) |
planglois | 0:7c79134d4f23 | 19 | { |
planglois | 0:7c79134d4f23 | 20 | printf("Page fetched successfully - read %d characters\n", strlen(str)); |
planglois | 0:7c79134d4f23 | 21 | printf("Result: %s\n", str); |
planglois | 0:7c79134d4f23 | 22 | } |
planglois | 0:7c79134d4f23 | 23 | else |
planglois | 0:7c79134d4f23 | 24 | { |
planglois | 0:7c79134d4f23 | 25 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
planglois | 0:7c79134d4f23 | 26 | } |
planglois | 0:7c79134d4f23 | 27 | |
planglois | 0:7c79134d4f23 | 28 | //POST data |
planglois | 0:7c79134d4f23 | 29 | HTTPMap map; |
planglois | 0:7c79134d4f23 | 30 | HTTPText inText(str, 512); |
planglois | 0:7c79134d4f23 | 31 | map.put("Hello", "World"); |
planglois | 0:7c79134d4f23 | 32 | map.put("test", "1234"); |
planglois | 0:7c79134d4f23 | 33 | printf("\nTrying to post data...\n"); |
planglois | 0:7c79134d4f23 | 34 | ret = http.post("http://httpbin.org/post", map, &inText); |
planglois | 0:7c79134d4f23 | 35 | if (!ret) |
planglois | 0:7c79134d4f23 | 36 | { |
planglois | 0:7c79134d4f23 | 37 | printf("Executed POST successfully - read %d characters\n", strlen(str)); |
planglois | 0:7c79134d4f23 | 38 | printf("Result: %s\n", str); |
planglois | 0:7c79134d4f23 | 39 | } |
planglois | 0:7c79134d4f23 | 40 | else |
planglois | 0:7c79134d4f23 | 41 | { |
planglois | 0:7c79134d4f23 | 42 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
planglois | 0:7c79134d4f23 | 43 | } |
planglois | 0:7c79134d4f23 | 44 | |
planglois | 0:7c79134d4f23 | 45 | //PUT data |
planglois | 0:7c79134d4f23 | 46 | strcpy(str, "This is a PUT test!"); |
planglois | 0:7c79134d4f23 | 47 | HTTPText outText(str); |
planglois | 0:7c79134d4f23 | 48 | //HTTPText inText(str, 512); |
planglois | 0:7c79134d4f23 | 49 | printf("\nTrying to put resource...\n"); |
planglois | 0:7c79134d4f23 | 50 | ret = http.put("http://httpbin.org/put", outText, &inText); |
planglois | 0:7c79134d4f23 | 51 | if (!ret) |
planglois | 0:7c79134d4f23 | 52 | { |
planglois | 0:7c79134d4f23 | 53 | printf("Executed PUT successfully - read %d characters\n", strlen(str)); |
planglois | 0:7c79134d4f23 | 54 | printf("Result: %s\n", str); |
planglois | 0:7c79134d4f23 | 55 | } |
planglois | 0:7c79134d4f23 | 56 | else |
planglois | 0:7c79134d4f23 | 57 | { |
planglois | 0:7c79134d4f23 | 58 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
planglois | 0:7c79134d4f23 | 59 | } |
planglois | 0:7c79134d4f23 | 60 | |
planglois | 0:7c79134d4f23 | 61 | //DELETE data |
planglois | 0:7c79134d4f23 | 62 | //HTTPText inText(str, 512); |
planglois | 0:7c79134d4f23 | 63 | printf("\nTrying to delete resource...\n"); |
planglois | 0:7c79134d4f23 | 64 | ret = http.del("http://httpbin.org/delete", &inText); |
planglois | 0:7c79134d4f23 | 65 | if (!ret) |
planglois | 0:7c79134d4f23 | 66 | { |
planglois | 0:7c79134d4f23 | 67 | printf("Executed DELETE successfully - read %d characters\n", strlen(str)); |
planglois | 0:7c79134d4f23 | 68 | printf("Result: %s\n", str); |
planglois | 0:7c79134d4f23 | 69 | } |
planglois | 0:7c79134d4f23 | 70 | else |
planglois | 0:7c79134d4f23 | 71 | { |
planglois | 0:7c79134d4f23 | 72 | printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode()); |
planglois | 0:7c79134d4f23 | 73 | } |
planglois | 0:7c79134d4f23 | 74 | |
planglois | 0:7c79134d4f23 | 75 | eth.disconnect(); |
planglois | 0:7c79134d4f23 | 76 | |
planglois | 0:7c79134d4f23 | 77 | while(1) {} |
planglois | 0:7c79134d4f23 | 78 | } |
planglois | 0:7c79134d4f23 | 79 |