Curl POST 要求が機能しません。

Curl 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"/>

だからそうですキュー

私のカールリクエストは次のとおりですcurl -X POST -d "q=test" http://yamli.com/search.ashx -o /tmp/response

しかし、結果は、ページが移動されたことを知らせる3xxコードのようです(... redirectでカールを使用すると、デフォルトのWebページにリダイレクトされます)。

    <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

また、Webサイトから送信された有効なCookieを提供する必要があるかもしれません。

関連情報