3
我試圖發送一個HTTP POST 到我的Arduino與我的服務器的以太網盾cURL,但它不起作用。如果我通過HTML表格或Mac OS X的終端cURL發送POST值,則Arduino將接收數據,因此我假設Arduino代碼正常。用cURL發送一個HTTP POST到Arduino
這是我的捲曲功能:
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";
}
}
我得到兩個反應:
捲曲錯誤(28):connect()的超時!
和
捲曲錯誤(7):無法連接到主機
如果CURLOPT_CONNECTTIMEOUT未聲明,它沒有返回。
我的代碼有什麼問題?
努力,查驗'你server'了'目的地server'並查看它是否可訪問。 – air4x
'urlencode($ blue)','$ blue'是什麼?我沒有看到它在你的函數中定義。 –
它由extract($ what)命令定義。 – Salsoni