卷曲 POST 请求不起作用

卷曲 POST 请求不起作用

有这个网站:yamli.com它提供了一种将拉丁语单词转录为阿拉伯语单词的形式。

我检查了源代码,发现它使用的是HTML形式:

<form id="search_form" action="http://api.yamli.com/search.ashx" method="get" >

我感兴趣的输入是:

<input id="search_input" name="q" type="text" dir="rtl" size="60" maxlength="2048" autocomplete="off" tabindex="1"/>

所以就是q

我的卷曲请求是:curl -X POST -d "q=test" http://yamli.com/search.ashx -o /tmp/response

但结果似乎是一个 3xx 代码,告诉我页面已移动(...如果将 curl 与重定向一起使用,它将重定向到主网页):

    <head><title>Document Moved</title></head>
<body><h1>Object Moved</h1>This document may be found <a HREF="http://www.yamli.com/">here</a></body>

我在这里缺少什么吗?

答案1

这不是问题curl。在您的表单中,您已经method="get"并且因为您使用 POST,所以您实际上收到了消息:

405 - 不允许用于访问此页面的 HTTP 动词。由于尝试访问时使用了无效方法(HTTP 动词),因此无法显示您正在查找的页面。

只需根据需要使用 GET 即可:

curl http://api.yamli.com/search.ashx?q=test

您可能还必须提供网站发送的有效 cookie。

相关内容