#include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,1,177); EthernetServer server(80); void setup() { Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { EthernetClient client = server.available(); if (client) { Serial.println("new client"); boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); if (c == '\n') { currentLineIsBlank = true; } else if (c != '\r') { currentLineIsBlank = false; } } } delay(1); client.stop(); Serial.println("client disonnected"); } }
curlでファイルアップロード(ヘッダ内格納:POSTリクエスト)
$ curl -F FILE=@kono.rml http://192.168.1.177
出力結果
server is at 192.168.1.177 new client POST / HTTP/1.1 User-Agent: curl/7.30.0 Host: 192.168.1.177 Accept: */* Content-Length: 34481 Expect: 100-continue Content-Type: multipart/form-data; boundary=----------------------------9b35347ea550 ------------------------------9b35347ea550 Content-Disposition: form-data; name="FILE"; filename="kono.rml" Content-Type: application/octet-stream PA;PA;VS2.0;!VZ2.0!PZ-4,40;!MC1; PU394,312;PD394,312;PD426,312;PD428,313;PD428,314;PD428,355;PD427,356; (以下略) MC0; H; ------------------------------9b35347ea550--