SimpleSocket 1.0 examples
Dependencies: EthernetNetIf SimpleSocket 1.0 mbed
examples/httpclient.cpp@40:84182fc63956, 2013-02-04 (annotated)
- Committer:
- yamaguch
- Date:
- Mon Feb 04 09:04:25 2013 +0000
- Revision:
- 40:84182fc63956
- Parent:
- httpclient.cpp@39:108499af2b53
changed SimpleSocket libary name to SimpleSocketV1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 39:108499af2b53 | 1 | #include "EthernetNetIf.h" |
yamaguch | 39:108499af2b53 | 2 | #include "SimpleSocket.h" |
yamaguch | 39:108499af2b53 | 3 | |
yamaguch | 39:108499af2b53 | 4 | void httpclient() { |
yamaguch | 39:108499af2b53 | 5 | EthernetNetIf eth; |
yamaguch | 39:108499af2b53 | 6 | eth.setup(); |
yamaguch | 39:108499af2b53 | 7 | |
yamaguch | 39:108499af2b53 | 8 | printf("URL => "); |
yamaguch | 39:108499af2b53 | 9 | char url[128]; |
yamaguch | 39:108499af2b53 | 10 | scanf("%s", url); |
yamaguch | 39:108499af2b53 | 11 | |
yamaguch | 39:108499af2b53 | 12 | char hostpart[64], host[64], path[128]; |
yamaguch | 39:108499af2b53 | 13 | int port = 80; |
yamaguch | 39:108499af2b53 | 14 | sscanf(url, "http://%[^/]%s", hostpart, path); |
yamaguch | 39:108499af2b53 | 15 | sscanf(hostpart, "%[^:]:%d", host, &port); |
yamaguch | 39:108499af2b53 | 16 | |
yamaguch | 39:108499af2b53 | 17 | ClientSocket socket(host, port); |
yamaguch | 39:108499af2b53 | 18 | |
yamaguch | 39:108499af2b53 | 19 | if (socket.connected()) { |
yamaguch | 39:108499af2b53 | 20 | socket.printf("GET %s HTTP/1.0\r\n\r\n", path); |
yamaguch | 39:108499af2b53 | 21 | |
yamaguch | 39:108499af2b53 | 22 | while (socket) { |
yamaguch | 39:108499af2b53 | 23 | if (socket.available()) { |
yamaguch | 39:108499af2b53 | 24 | char buf[128] = {}; |
yamaguch | 39:108499af2b53 | 25 | socket.read(buf, sizeof(buf) - 1); |
yamaguch | 39:108499af2b53 | 26 | printf("%s", buf); |
yamaguch | 39:108499af2b53 | 27 | } |
yamaguch | 39:108499af2b53 | 28 | } |
yamaguch | 39:108499af2b53 | 29 | } |
yamaguch | 39:108499af2b53 | 30 | } |