我正在向使用Arduino板的服务器发出http POST请求,因此使用C ++。我可以连接到WiFi和服务器,我遇到的问题是我无法将可变数据发送到此服务器。我已经写了我认为与JS相同的字符串格式并以这种方式发送请求并且它有效,但我无法弄清楚如何通过C ++使其工作。
以下是代码
if (client.connect(server, 80)) {
Serial.println("connected to server");
String myval = "HelloWorld";
// Make a HTTP request:
String body = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n<soap:Body>\r\n<DataIn xmlns=\"http://www.config.com/\">\r\n<MyVal>" + myval + "</MyVal>\r\n</DataIn>\r\n</soap:Body>\r\n</soap:Envelope>\r\n");
client.print("POST http://eng/wsArduino.asmx HTTP/1.1\r\n");
client.print("Content-Type: text/xml; charset=utf-8\r\n");
client.print("Content-Length: ");
//client.println(myval.length());
//client.print("SOAPAction: \"http://www.config.com/DataIn\"\r\n");
client.println();
client.print(body);
client.println();
是否有任何明显的问题,我似乎无法弄清楚为什么这个请求不起作用。
感谢您的帮助。这是我的第一篇文章,所以如果我违反任何Stackoverflow礼仪,请告诉我。
答案 0 :(得分:-1)
这篇文章应该有所帮助:http://forum.arduino.cc/index.php?topic=155218.0
基本上,在将params传递给客户端之前将其格式化为json。