我写了一个简单的Grizzly / Jersey应用程序,你可以在这里找到:
https://github.com/boldt/stackoverflow-14526627
我想发布一些表单数据:
curl -X POST -F "name=test" -i http://localhost:9999/files
我收到以下回复:
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Fri, 25 Jan 2013 16:51:18 GMT
Transfer-Encoding: chunked
如您所见,标题加倍,首先是100 Continue
后跟200 OK
。得到100 Continue
是没有意义的。
有什么建议吗?
答案 0 :(得分:2)
这很正常。 Curl遵循HTTP 1.1规范。您正在进行POST,这意味着您将要向服务器发送数据。 Curl正在向服务器发送请求标头,其中包含“Expect:100-continue”。
这告诉服务器客户端想要发送POST文档的权限,如果服务器响应HTTP / 1.1 100继续,那么客户端发送文档(在这种情况下你的表单对),否则服务器可能会拒绝它HTTP / 1.1的原因417 Expectation Failed,这使得客户端不会浪费时间发送大量数据,如果它被拒绝的话。
答案 1 :(得分:1)
这两个标题没有任何问题。
阅读有关Expect标题的信息。
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
检查您的请求标头。您可能正在发送带有curl的HTTP Expect。
curl -vv -X POST -F "name=test" -i http://localhost:9999/files