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:
Tue Oct 30 10:18:34 2012 +0000
Revision:
5:13f0fa1662ab
Parent:
4:47a1a2527e25
Updated library location

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