Hi guys, I have a little problem with a sketch, so I ask for help to the experts:
I'm trying to send an HTTP POST request to my WEB API service (RESTful, ASP.NET MVC).
The result obtained is practically zero, the Arduino is connected to my wifi network, it connects to the "server" that is my PC running the program directly from Visual Studio, and then disconnects, no interaction.
I tried to put a breakpoint inside the controller of interests (counter) but obviously there's a problem because can not reach it.
I attach the code, take a look:
#include <SPI.h>
#include <WiFi.h>
char ssid[] = ".........."; // your network SSID (name)
char pass[] = "........."; // your network password
int status = WL_IDLE_STATUS;
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
IPAddress server(192,168,0,3); // numeric IP for my computer in my LAN
WiFiClient client;
void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield not present");
// don't continue:
while (true);
}
// attempt to connect to Wifi network:
while (status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
status = WiFi.begin(ssid, pass);
// wait 10 seconds for connection:
delay(10000);
}
Serial.println("Connected to wifi");
printWifiStatus();
String PostData= "DayId: 7";
Serial.println("\nStarting connection to server...");
// if you get a connection, report back via serial:
if (client.connect(server, 80)) {
Serial.println("connected to server");
String path = {"/api/counter/addParticipants"};
String post = "POST " + path + " HTTP/1.1";
client.println(post);
client.println("Host: localhost:80");
client.println("Connection: close");
client.println("Content-Type: application/json");
client.print("Content-Length: ");
client.println(PostData.length());
client.println();
client.println(PostData);
}
}
void loop() {
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
Serial.write(c);
}
// if the server's disconnected, stop the client:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting from server.");
client.stop();
// do nothing forevermore:
while (true);
}
}
void printWifiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
Many Thanks!