【发布时间】:2017-05-29 19:01:04
【问题描述】:
我正在尝试使用 HttpPost 在网络上创建对服务器的调用,但我一直收到 -1 的响应(错误:连接被拒绝)
我能够发出 HTTPGet 请求,但我的 httpPost 失败。如果我将尝试发布的相同数据放入 Fiddler 并从那里发布,我会得到 200 OK。
下面是我要执行的代码:
void PostData() {
String data = "mailSend=1&new=1&rec=Gupta+Classic&topic=ddd&reply=ddd&fbSig=bE9";
String url = "https://www.shippingmanager.dk/sh/mailbox.php";
HTTPClient http;
http.setReuse(true);
http.begin(url);
http.addHeader("Host", "www.shippingmanager.dk");
http.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0");
http.addHeader("Accept-Language", " en-US,en;q=0.5");
http.addHeader("Accept-Encoding", " gzip, deflate, br");
http.addHeader("Content-Type", " application/x-www-form-urlencoded; charset=UTF-8");
http.addHeader("X-Requested-With", " XMLHttpRequest");
http.addHeader("Referer", " https://www.shippingmanager.dk/sh/?fb_source=shippingmanager.dk");
http.addHeader("Connection", "keep-alive");
http.addHeader("Pragma", " no-cache");
http.addHeader("Cache-Control", " no-cache");
int result = http.POST(data);
http.writeToStream(&Serial);
http.end();
}
这是我在 Fiddler 中发布的原始文本:
POST https://www.shippingmanager.dk/sh/mailbox.php HTTP/1.1
Host: www.shippingmanager.dk
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://www.shippingmanager.dk/sh/?fb_source=shippingmanager.dk
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
mailSend=1&new=1&rec=Gupta+Classic&topic=ddd&reply=ddd&fbSig=J9
请有人指出我的问题。
我也尝试了此链接中的代码,但我也失败了:-(
【问题讨论】:
标签: http-post httpclient arduino-esp8266