开发中遇到一个不确定原因的问题,http请求返回错误码 417。
期间换了移动2G,4G网络,vpn,没发现这个问题,单单公司网络有这个问题。再查原因。
搜索问题,指向到http post 请求时,字符串长度问题,临界值1024字节。
试验中发现,1024临界值不是很确定,比如小于1024字节时也不通过。(前端算的字节)
找到下面一些提示:
使用curl POST数据时,如果POST的数据大于1024字节,curl并不会直接就发起POST请求。而是会分两步。
1.发送一个请求,header中包含一个Expect:100-continue,询问Server是否愿意接受数据。
2.接受到Server返回的100-continue回应后,才把数据POST到Server。
抓包数据:
目前解决方法:给http请求替换Header ,不在询问,直接发送请求。当然确保服务器可以接受长数据。
request = network.createHTTPRequest(function(event)
end,url,"POST")
request:addRequestHeader("Expect:")
request:addPOSTValue("","")
request:start()