PHP で CURL を使用して (Java サーブレット) フォームを送信しようとしていますが、パラメーターに問題があるようです。ブラウザーで使用されているのと同じ文字列パラメーターを使用して CURL をテストしているため、なぜそれが起こっているのか本当に理解できません。
さまざまなフォーラムでいくつかの調査を行った後、特定の問題の解決策を見つけることができませんでした。
これは、ブラウザによって生成された (そして動作している) POSTFIELDS 文字列です。
submissionType=pd&__multiselect_PostCodeList=&selectedPostCode=01&selectedPostCode=02&selectedPostCode=03&__multiselect_selectedPostCodes=
PHPスクリプトで(テスト用に)同一の文字列を使用していますが、「検索クエリにパラメーターがありません」という回答としてHTMLファイルを取得しています。
フォームだと思います
__multiselect_PostCodeList=
&selectedPostCode=01
&selectedPostCode=02
&selectedPostCode=03
&__multiselect_selectedPostCodes=
非常に有線であり(これまでに見たことがない)、投稿がCURLから機能しない理由である可能性があるのではないかと思っています。
このヘッダーを取得しているため、フォームは正常に送信されたようです
HTTP/1.1 200 OK
Date: Wed, 07 Aug 2013 08:02:56 GMT
Content-length: 1791
Content-type: text/html;charset=UTF-8
X-Powered-By: Servlet/2.4 JSP/2.0
Vary: Accept-Encoding
Content-Encoding: gzip
Connection: Keep-Alive
注: Lynxから同じフォームを送信しようとしましたが、同じ結果が得られました (「検索クエリにパラメーターがありません」)。そのため、Mozilla や Chrome などのブラウザでのみ動作するようです。
この時点でこれ以上のアイデアはありません。
ありがとう!オスカー