“ http通过esp8266发布到亚马逊网络服务器

“级别菜鸟”

所以,我试图将数据保存到通过Http post在亚马逊服务器上创建的表中。我试图通过postman进行击中并创建资源,但是在尝试通过相同的方法实现这一点时,我没有得到任何响应,我尝试过发布到ptsv2.com之类的其他来源,但结果却在那里,无法找出问题所在。

我试图通过邮递员将它附加ID作为回报,然后将此代码尝试到其他服务器上,发现那里的aws服务器不知道是什么问题。

//host and url are bit changed

WiFiClient client;
const int httpPort = 80;
 if (!client.connect(host,httpPort)) 
{
   Serial.println("connection failed");
   return;
  }


         String postStr ;
         postStr +="posts={\n\"date\":\"";
         postStr += String(date);
         postStr +="\",\n\"time\":\"";
         postStr += String(Time);
         postStr +="\",\n\"dev_mac_id\":\"";
         postStr += String(dev_mac_id);
         postStr +="\",\n\"sensor_id1\":\"";
         postStr += String(sensor_id1);
         postStr +="\",\n\"value1\":\"";
         postStr += String(value1);
         postStr +="\",\n\"sensor_id2\":\"";
         postStr += String(sensor_id2);
         postStr +="\",\n\"value2\":\"";
         postStr += String(value2);

         postStr +="\",\n\"sensor_id3\":\"";
         postStr += String(sensor_id3);
         postStr +="\",\n\"value3\":\"";
         postStr += String(value3);
           postStr +="\",\n\"sensor_id4\":\"";
         postStr += String(sensor_id4);
         postStr +="\",\n\"value4\":\"";
         postStr += String(value4);

         postStr +="\",\n\"dev_helth_status\":";
          postStr +="\"active\"";
         postStr +="\n}";
         postStr += "\r\n\r\n";
         Serial.print(postStr);

  Serial.print("Requesting POST: ");
 // Send request to the server:
 client.println("POST /dev/post HTTP/1.1");`enter code here`
 client.println("Host: ce58f198zeb.execute-api.ap-west- 
 13.amazonaws.com");
  client.println("Cache-Control: no-cache");
  client.println("accept: */*");
 client.println("Content-Type: application/json");
 client.print("Content-Length: ");
  client.println(postStr.length());
  client.println();
  client.print(postStr);
  String answer=getResponse();
  Serial.println(answer);


  delay(500); // Can be changed
  if (client.connected()) 
    { 
   client.stop();  // DISCONNECT FROM THE SERVER
    Serial.print("taking off ");
    }
   Serial.println();
    Serial.println("closing connection");
   delay(5000);


   }
  String getResponse(){
  String response;
  long startTime = millis();

  delay( 200 );
    while ( client.available() < 1 && (( millis() - startTime ) < TIMEOUT 
  ) ){
    delay( 5 );
     }

   Serial.println(client.available()+",");
  if( client.available() > 0 ){ // Get response from server.
 char charIn;
 do {
     charIn = client.read(); // Read a char from the buffer.
     response += charIn;     // Append the char to the string response.
    } while ( client.available() > 0 );
   }
    client.stop();

   return response;
    }


 //json espected format

  {
   "date":"12/11/11","time":"22:11:11","dev_mac_id":"1111","sensor_id1":"121","value1":"42","sensor_id2":"122","value2":"43","sensor_id3":"123","value3":"22","sensor_id4":"124","value4":"32","dev_helth_status":"active"
       }
hhhh789512 回答:“ http通过esp8266发布到亚马逊网络服务器

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3142243.html

大家都在问