简体   繁体   English

通过 ENC28J60 ethercard.h (Arduino Mega2560) 的 HTTP 请求

[英]HTTP REQUEST via ENC28J60 ethercard.h (Arduino Mega2560)

We would like to send a http request with ethercard.h.我们想用 ethercard.h 发送一个 http 请求。 But when we doing this但是当我们这样做时

ether.browseUrl(PSTR("GET /"), "", website, my_callback);

We get a 400 bad request answer.我们得到一个 400 错误的请求答案。

We would like to test http request like: -POST -HEAD -PUT -DELETE -TRACE -OPTIONS我们想测试 http 请求,例如: -POST -HEAD -PUT -DELETE -TRACE -OPTIONS

But it seems only this is working:但似乎只有这样才有效:

ether.browseUrl(PSTR("/"), "", website, my_callback);

but why?但为什么?

For GET request you don't need to make a special definition.对于 GET 请求,您不需要进行特殊定义。 All requests are GET in default.默认情况下,所有请求都是 GET。 That's why your request works without any definition.这就是为什么您的请求在没有任何定义的情况下有效。 So i can share with you a POST request example.因此,我可以与您分享一个 POST 请求示例。 You can proceed from here:您可以从这里开始:

Stash::prepare(PSTR("POST http://$F/$F.csv HTTP/1.0" "\r\n"
                "Host: $F" "\r\n"
                "Content-Length: $D" "\r\n"
                "Content-Type: application/x-www-form-urlencoded" "\r\n"
                "\r\n"
                "$H"),
    website, PSTR(PATH), website, stash.size(), sd);

It even has a link to its explanation.它甚至有一个链接到它的解释。 POST Request Example POST 请求示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM