尝试通过 PHP 和命令行使用 CURL 提交表单。来自服务器的响应包含空内容(下面发布的标头)。
当通过浏览器提交相同的 URL 时,响应将包含正确的 webapge。
已尝试通过以下每个命令行curl标志“-d”“-F”和“-G”通过POST和GET提交CURL请求参数。
如果查询字符串参数使用“-d”标志发布,则结果标头为:
HTTP/1.1 302 暂时移动
日期:2011 年 6 月 2 日星期四 21:41:54 GMT
服务器:阿帕奇
设置 Cookie:JSESSIONID=DC5F435A96A353289F58593D54B89570;路径=/XXXXXXX
P3P:CP=“CAO PSA OUR”
地点:http://www.XXXXXXXX.com/ http://www.XXXXXXXX.com/
内容长度:0
连接:关闭
内容类型:text/html;字符集=UTF-8
设置-Cookie: XXXXXXXXXXXXXXXX=1318103232.20480.0000;路径=/
如果查询字符串参数使用“-F”标志发布,则生成的标头为:
HTTP/1.1 100 继续
HTTP/1.1 500 内部服务器错误
日期:2011 年 6 月 2 日星期四 21:52:54 GMT
服务器:阿帕奇
内容长度:1677
连接:关闭
内容类型:text/html;charset=utf-8
设置Cookie:XXXXXXXXXXXXXXX=1318103232.20480.0000;路径=/
变化:接受编码
<html><head><title>Apache Tomcat/5.5.26 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Servlet execution threw an exception<br>
</pre></p><p><b>root cause</b> <pre>java.lang.NoClassDefFoundError: com/oreilly/servlet/multipart/MultipartParser<br>
com.corsis.tuesday.servlet.mp.MPRequest.<init>(MPRequest.java:27)<br>
com.corsis.tuesday.servlet.mp.MPRequest.<init>(MPRequest.java:21)<br>
com.corsis.tuesday.servlet.TuesdayServlet.doPost(TuesdayServlet.java:494)<br>
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)<br>
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)<br>
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/5.5.26 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/5.5.26</h3></body></html>
问题:
根据 CURL 请求的性质,可能会导致服务器做出不同响应的原因。
如何通过CURL成功提交请求?