如图所示, 标注过的灰色代码是curl类写的请求, 下面的是用HTML拼接表单再点击submit按钮提交post请求, 同样的数据,前者返回illegal exterface(接口配置不正确),后者就能正常跳转到二维码扫描支付。 另外补充下,curl请求的时候 ,不管源数据是否通过json_encode()结果都是一样。 按说这两部分代码是等效的,为什么一个可以另一个报错,请大家指教。
如图所示, 标注过的灰色代码是curl类写的请求, 下面的是用HTML拼接表单再点击submit按钮提交post请求, 同样的数据,前者返回illegal exterface(接口配置不正确),后者就能正常跳转到二维码扫描支付。 另外补充下,curl请求的时候 ,不管源数据是否通过json_encode()结果都是一样。 按说这两部分代码是等效的,为什么一个可以另一个报错,请大家指教。
原因在于,两种方式虽然都是post,但是实际发过去的post数据是有差别的。
你的表单提交会对value部分做urlencode,另外,发过去的http头也不会是json***。说明你对post协议的细节了解不够。
可以看下https://blog.csdn.net/qmhball/article/details/87866373 我的这篇文章,至少可以让你明白post的几种不同的方式。然后你就可以明白你问题的答案了。