Simple HTTP Client Example with HTTPClient class
Dependencies: HTTPClient mbed-rtos mbed-src
main.cpp@1:24d373f4f0ea, 2014-12-01 (annotated)
- 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?
User | Revision | Line number | New 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 | } |