Apache 如何使用curl将文件发送到服务器?

Apache 如何使用curl将文件发送到服务器?,apache,curl,Apache,Curl,首先,我知道关于旋度的平方根,我不想学它。有人告诉我,它可能有助于我追踪某些C代码中的一个问题,我试图将数据写入Apache服务器。我可能是找错人了 我想做的是从我的笔记本电脑到我的运行HTTP服务器的桌面进行HTTP POST,所以希望能看到使用Wireshark时原始HTTP的确切外观。然后,我可以回到我的嵌入式板上的C代码,更好地了解如何使其工作 我尝试了以下命令: curl -X POST -d @test.txt 192.168.0.106/incoming 其中text.txt仅包

首先,我知道关于旋度的平方根,我不想学它。有人告诉我,它可能有助于我追踪某些C代码中的一个问题,我试图将数据写入Apache服务器。我可能是找错人了

我想做的是从我的笔记本电脑到我的运行HTTP服务器的桌面进行HTTP POST,所以希望能看到使用Wireshark时原始HTTP的确切外观。然后,我可以回到我的嵌入式板上的C代码,更好地了解如何使其工作

我尝试了以下命令:

curl -X POST -d @test.txt 192.168.0.106/incoming
其中text.txt仅包含纯文本形式的“Hello World”(使用vim创建)。106是Apache服务器…它通过GET命令很好地服务于文件

但这给了:

Warning: Couldn't read data from file "test.txt", this makes an empty POST.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://192.168.0.106/incoming/">here</a>.</p>
</body></html>
警告:无法从文件“test.txt”读取数据,这将生成一篇空文章。
301永久搬迁
永久移除
文档已移动

非常感谢

我的理解是: 您希望将一些数据从笔记本电脑发送到Apache服务器,并将内容保存在
incoming
文件夹中

如何做到这一点: 为此,您需要一些东西来接收从Curl发送的数据。我建议您在传入文件夹中创建一个
index.php
。根据您使用的curl命令,您可以在
index.php
中使用类似的命令

index.php

<?PHP
 move_uploaded_file($_FILES['content']['tmp_name'], "test.txt");
?>
<?PHP
file_put_contents("test2.txt", $_POST['content']);
?>
否则,请执行以下操作:

index.php

<?PHP
 move_uploaded_file($_FILES['content']['tmp_name'], "test.txt");
?>
<?PHP
file_put_contents("test2.txt", $_POST['content']);
?>

这基本上就是我想做的;然而,通过这个回答,我想你刚刚回答了一个我终于开始怀疑的问题。我假设您可以将一个文件发布到Apache服务器,它将接受该文件并将其存储在服务器的硬盘上。我现在认为这是不可能的,这不是HTTP服务器在默认情况下必须能够做的事情的一部分,事实上,您必须在服务器上运行一个脚本或程序来获取HTTP POST数据并对其进行处理。