SimpleSocket 1.0 examples
Dependencies: EthernetNetIf SimpleSocket 1.0 mbed
httpclient.cpp@39:108499af2b53, 2012-06-06 (annotated)
- Committer:
- yamaguch
- Date:
- Wed Jun 06 03:34:16 2012 +0000
- Revision:
- 39:108499af2b53
updated link to the library
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 | } |