以下网址:curl无法解析主机'GET'

时间:2014-06-14 15:51:08

标签: php mysql bash curl

我有一个页面(用php框架实现)以这种方式在MySQL数据库中添加记录: www.mysite.ext /控制器/ addRecord.php?ID =数 在表中添加一行,其中数字ID通过post和其他信息(如时间戳等)传递。 所以,我将我的eintire web应用程序移动到另一个域,并且所有HTTP请求都可以从旧域到新域正常工作。 唯一剩下的问题是卷曲:我写了一个运行此链接卷曲的bash脚本(在linux下)。现在,显然它不起作用,因为curl返回一条警报消息,其中我读取了页面被移动。 好的,我用这种方式编辑了curl sintax

#! /bin/sh
link="www.myoldsite.ext/controlloer/addRecord.php?id=number"
curl --request -L GET $link

我添加 -L 以跟踪新位置的网址,但curl会返回我在此主题标题中写的错误。 如果我可以直接修改添加新域的链接,但我没有对所有设备的物理访问权限会更容易。

1 个答案:

答案 0 :(得分:1)

curl

GET is the default request类型。而这不是设定它的方式。

curl -X GET ...

这是将GET设置为curl使用的方法关键字的方法。

  

应该注意的是,curl根据要求的操作选择自己使用哪些方法。 -d会做POST,-I会做HEAD等等。如果使用--request / -X选项,则可以更改方法关键字curl choose,但不会修改curl的行为。这意味着如果您例如使用-d“data”来执行POST,则可以使用-X将方法修改为PROPFIND,curl仍然认为它会发送POST。您可以通过在命令行中添加-X POST来将正常的GET更改为POST方法,如:

curl -X POST http://example.org/
  

...但是curl仍然会思考并表现得好像它发送了一个GET所以它不会发送任何请求体等。

更多信息:http://curl.haxx.se/docs/httpscripting.html#More_on_changed_methods

同样,这不是必要的。你确定链接是否正确?