如何在cron中使用curl来处理URL?

发布于 2024-12-01 08:26:41 字数 340 浏览 2 评论 0原文

我有一个非常简单的任务。我有一个 crontab 每小时运行一个脚本。该脚本旨在简单地处理 URL。

这就是我所拥有的。这不起作用。我收到语法错误。

#!/usr/bin/perl
curl http://example.com/page.html;

我已经很多年没有使用 Perl 了,而且当时也不是很熟练。

解决方案

谢谢亚历克斯为我指明了正确的道路!

定时任务

*/30 * * * * curl http://example.com/path.html

I have a very simple task. I have a crontab that will run a script every hour. The script is meant to simply process a URL.

This is what I have. It doesn't work. I get a syntax error.

#!/usr/bin/perl
curl http://example.com/page.html;

I haven't worked in Perl in years and wasn't very adept when I did.

SOLUTION

Thanks, Alex for pointing me to the correct path!

crontab

*/30 * * * * curl http://example.com/path.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

孤单情人 2024-12-08 08:26:41

您可以通过反引号使用 curl

my $curl=`curl http://whatever`

,也可以使用 WWW::Curl

You can either use curl via backticks

my $curl=`curl http://whatever`

or you can use WWW::Curl.

2024-12-08 08:26:41

要从 Perl 调用任何 shell 命令,您可以使用 system

system "curl http://domain.com/page.html";

只需将 shell 命令括在引号中即可。

To call any shell command from Perl, you can use system:

system "curl http://domain.com/page.html";

Just enclose the shell command in quotes.

翻身的咸鱼 2024-12-08 08:26:41

如果回避从 Perl 中执行命令行工具,则等效的库是:

use WWW::Curl::Simple;
my $curl = WWW::Curl::Simple->new();
my $res = $curl->get("https://stackoverflow.com");

然后您将访问内容,如下所示:

print $res->content;

您可能需要阅读 WWW::Curl::Simple,其中 get 方法返回 HTTP::响应

If shying away from executing command-line tools from within Perl, the library equivalent is:

use WWW::Curl::Simple;
my $curl = WWW::Curl::Simple->new();
my $res = $curl->get("https://stackoverflow.com");

You would then access the content as in:

print $res->content;

You may want to read WWW::Curl::Simple, where the get method returns an HTTP::Response.

沙沙粒小 2024-12-08 08:26:41

如果您需要传递多个参数,请尝试此操作。

my $cc = 'curl -v -X GET https://base-template.squarespace.com/blog/\?field1=value1\&format=json-pretty\&field3=value3';
print `$cc`;

Try this if you need to pass multiple parameters.

my $cc = 'curl -v -X GET https://base-template.squarespace.com/blog/\?field1=value1\&format=json-pretty\&field3=value3';
print `$cc`;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文