次のウェブサイトがあります。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を提供する必要があるかもしれません。