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와 함께 컬을 사용하면 기본 웹 페이지로 리디렉션됩니다).

    <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

또한 웹사이트에서 보낸 유효한 쿠키를 제공해야 할 수도 있습니다.

관련 정보