簡體   English   中英

如何從HTTP響應獲取正文?

[英]How I can get the body from a HTTP response?

嘿,我正在做Arduino項目,我想從HTTP請求中獲取主體,這是代碼:

// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
             "Host: " + host + "\r\n" +
             "Connection: close\r\n\r\n");
delay(100);
int liniea_info = 0;
while(client.available()){
    String line = client.readStringUntil('\r');
    if(liniea_info == 13){Serial.print(line);}
    Serial.print(liniea_info);
    ++liniea_info;
}

這很好用,沒有整數liniea_info我以下信息:

Requesting URL: /output/***.csv?colors=11
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-Requested-With
Content-Type: text/plain
Transfer-Encoding: chunked
Date: Sat, 17 Jun 2017 08:09:31 GMT
Connection: close
Set-Cookie: SERVERID=; Expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
Cache-control: private

34
colors,day,timestamp
11,12,2017-06-17T07:48:10.619Z

0

我認為使用int liniea_info只會得到我想要的行,即"11,12,2017-06-17T07:48:10.619Z" ,但是不行,僅打印第一行。

有人看到我在做什么錯或如何做嗎?

不要重新發明輪子。 只需使用HTTPClient庫。 該庫處理請求和響應。

添加到包括:

#include <ESP8266HTTPClient.h>

並簡單地:

HTTPClient http;
http.begin("http://www.sample-videos.com/csv/Sample-Spreadsheet-10-rows.csv");
int statusCode = http.GET();
Serial.println(http.getString());
http.end();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM