繁体   English   中英

您可以使用curl张贴到本地文件吗?

[英]can you use curl to post to a local file?

我尝试使用curl将其发布到本地文件,但失败。 能做到吗 我的两个管理系统都在同一台服务器上,似乎不必为了访问同一硬盘上的文件而遍历整个Internet系统。

使用localhost并不能解决问题。

我还尝试使用发布数据到$_SERVER[DOCUMENT_ROOT].'/dir/to/file.php' 它是针对加密的API的,因此我不确定它的工作原理。 它用于我拥有的计费系统,我刚刚意识到它可以将数据发送回(API)。

它只是发布数据和XML响应。 我可以编写一个html表单标签和输入字段,并得到相同的结果,但实际上没有其他要知道的内容。

主要问题是:curl是否有能力发布到本地文件?

它是发布数据。 它是被加密的,所以我不知道究竟它是如何工作的API

没有更多细节,没有人可以回答您应该怎么做。

但是,如果它确实是本地服务器上的POST接收脚本,则可以使用URL向其发送POST请求:

 $url = "https://$_SERVER[SERVER_NAME]/path/to/api.php";

然后从cURL调用接收其输出。

 $data = curl($url)->post(1)->postdata(array("billing"=>1234345))
                   ->returntransfer(1)->exec();
 // (you would use the cumbersome curl_setopt() calls instead)

这样就得到了XML或JSON或其他响应。

如果它们在同一驱动器上,请改用文件操作:

file_put_contents('/path/to/the/file', $contents);

仅在出于某些原因绝对需要http层参与或与远程服务器打交道时,才应使用CURL。 使用HTTP还意味着您需要使“目标”脚本能够处理文件上传以及您需要发送的任何其他数据,然后该脚本最终仍然必须进行文件操作,因此实际上,您已经进行环球旅行只是为了让您可以从客厅移到厨房。

file://locafilespec.ext为我工作。 我在Linux盒子上的同一文件夹中有2个文件,而该文件夹不在Web服务器提供的文件夹中,我使用file://包装器将其发布到file://test.php,并且效果很好。 它不是很漂亮,但是它将对开发人员有效,直到我将其移至最终的静止位置为止。

curl是否有能力发布到本地文件?

要卷曲本地文件,您需要将HTTP服务器设置为file://将不起作用,因此:

npm install http-server -g

然后在文件所在的文件夹中运行HTTP服务器:

$ http-server

请参阅: 将node.js用作简单的Web服务器

然后从命令行向localhost测试curl请求,如下所示:

curl http://127.0.0.1:8081/file.html

然后,您可以在PHP中执行相同的操作。

暂无
暂无

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

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