Example demonstrating the use of the Vodafone USB Modem library with the HTTP Client

Dependencies:   HTTPClient VodafoneUSBModem mbed-rtos mbed

Fork of VodafoneK3770HTTPClientTestBeta by Donatien Garnier

Committer:
donatien
Date:
Wed Aug 29 11:50:50 2012 +0000
Revision:
3:d104a904eeed
Parent:
2:d1a092234f72
Child:
4:47a1a2527e25
Updated HTTPClient

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:f3f18ac13e0c 1 #include "mbed.h"
donatien 1:6ea9ac27702c 2 #include "VodafoneUSBModem.h"
donatien 0:f3f18ac13e0c 3 #include "HTTPClient.h"
donatien 0:f3f18ac13e0c 4
donatien 1:6ea9ac27702c 5 void test(void const*)
donatien 0:f3f18ac13e0c 6 {
donatien 1:6ea9ac27702c 7 VodafoneUSBModem modem;
donatien 1:6ea9ac27702c 8 HTTPClient http;
donatien 1:6ea9ac27702c 9 char str[512];
donatien 1:6ea9ac27702c 10
donatien 3:d104a904eeed 11 //int ret = modem.connect("pp.vodafone.co.uk");
donatien 3:d104a904eeed 12 int ret = modem.connect("SMART");
donatien 1:6ea9ac27702c 13 if(ret)
donatien 1:6ea9ac27702c 14 {
donatien 1:6ea9ac27702c 15 printf("Could not connect\n");
donatien 1:6ea9ac27702c 16 return;
donatien 1:6ea9ac27702c 17 }
donatien 1:6ea9ac27702c 18
donatien 1:6ea9ac27702c 19 //GET data
donatien 1:6ea9ac27702c 20 printf("Trying to fetch page...\n");
donatien 0:f3f18ac13e0c 21 ret = http.get("http://mbed.org/media/uploads/donatien/hello.txt", str, 128);
donatien 1:6ea9ac27702c 22 if (!ret)
donatien 0:f3f18ac13e0c 23 {
donatien 1:6ea9ac27702c 24 printf("Page fetched successfully - read %d characters\n", strlen(str));
donatien 1:6ea9ac27702c 25 printf("Result: %s\n", str);
donatien 0:f3f18ac13e0c 26 }
donatien 0:f3f18ac13e0c 27 else
donatien 0:f3f18ac13e0c 28 {
donatien 1:6ea9ac27702c 29 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:f3f18ac13e0c 30 }
donatien 1:6ea9ac27702c 31
donatien 1:6ea9ac27702c 32 //POST data
donatien 0:f3f18ac13e0c 33 HTTPMap map;
donatien 0:f3f18ac13e0c 34 HTTPText text(str, 512);
donatien 0:f3f18ac13e0c 35 map.put("Hello", "World");
donatien 0:f3f18ac13e0c 36 map.put("test", "1234");
donatien 1:6ea9ac27702c 37 printf("Trying to post data...\n");
donatien 0:f3f18ac13e0c 38 ret = http.post("http://httpbin.org/post", map, &text);
donatien 1:6ea9ac27702c 39 if (!ret)
donatien 0:f3f18ac13e0c 40 {
donatien 1:6ea9ac27702c 41 printf("Executed POST successfully - read %d characters\n", strlen(str));
donatien 1:6ea9ac27702c 42 printf("Result: %s\n", str);
donatien 0:f3f18ac13e0c 43 }
donatien 0:f3f18ac13e0c 44 else
donatien 0:f3f18ac13e0c 45 {
donatien 1:6ea9ac27702c 46 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
donatien 0:f3f18ac13e0c 47 }
donatien 1:6ea9ac27702c 48
donatien 1:6ea9ac27702c 49 modem.disconnect();
donatien 0:f3f18ac13e0c 50
donatien 1:6ea9ac27702c 51 while(1) {
donatien 1:6ea9ac27702c 52 }
donatien 0:f3f18ac13e0c 53 }
donatien 0:f3f18ac13e0c 54
donatien 0:f3f18ac13e0c 55
donatien 0:f3f18ac13e0c 56 int main()
donatien 0:f3f18ac13e0c 57 {
donatien 0:f3f18ac13e0c 58 Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
donatien 1:6ea9ac27702c 59 DigitalOut led(LED1);
donatien 1:6ea9ac27702c 60 while(1)
donatien 1:6ea9ac27702c 61 {
donatien 1:6ea9ac27702c 62 led=!led;
donatien 1:6ea9ac27702c 63 Thread::wait(1000);
donatien 1:6ea9ac27702c 64 }
donatien 0:f3f18ac13e0c 65
donatien 0:f3f18ac13e0c 66 return 0;
donatien 0:f3f18ac13e0c 67 }