gpt4 book ai didi

php - 使用 cURL 向 Arduino 发送 HTTP POST

转载 作者:搜寻专家 更新时间:2023-10-31 22:11:18 26 4
gpt4 key购买 nike

我正在尝试使用 cURL 从我的服务器向带有以太网屏蔽的 Arduino 发送 HTTP POST ,但它不起作用。如果我通过 HTML 表单或通过 Mac OS X 的终端 cURL 发送 POST 值,Arduino 会收到数据,因此我认为 Arduino 代码是正确的。

这是我的 cURL 函数:

function curler($what,$arduinoip){
$url = "http://".$arduinoip;
extract($what);
$fields = array(
'blue' => urlencode($blue)
);
foreach($fields as $key=>$value){$fields_string .= $key.'='.$value.'&';}
$fields_strings = rtrim($fields_string, '&');
// hasta aca todo bien
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_strings);
//execute post
$result = curl_exec($ch);
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
curl_close($ch);
if ($curl_errno > 0) {
echo "cURL Error ($curl_errno): $curl_error\n";
} else {
echo "Data received: $result\n";
}
}

我收到两个回复:

cURL Error (28): connect() timed out!

cURL Error (7): couldn't connect to host

如果未声明 CURLOPT_CONNECTTIMEOUT,则不返回任何内容。

我的代码有什么问题?

最佳答案

不要在您的主机 ip 前添加“http://”:

$url = $arduinoip;

尝试增加你的时间限制:

//200+ maybe?    
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 250);

关于php - 使用 cURL 向 Arduino 发送 HTTP POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12641505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com