我已经为服务器发送和接收的信息编写了java代码。这个问题是我如何区分从HTML表单提交的HTTP请求和从用户提交的HTTP请求。我们正在尝试通过HTTP头中的引用,但对于第一个请求,引用者为空。因此这个选项是不可行的。还有其他API /其他方法吗?请通过示例代码告诉我们...... 谢谢, PS
答案 0 :(得分:3)
我现在更好地理解这个问题了。简单回答是不。更复杂的答案是,你能做的最好就是做出明智的猜测。
如果请求没有Referrer标头(1),那么这可能意味着用户直接转到URL(通过在地址栏中输入或者选择书签)。这里的问题是你不能保证收到那个标题,所以你不得不希望浏览器正在运行。
接下来,如果请求类型是POST并且mime类型是“application / x-www-form-urlencoded”或“multipart / form-data”那么这通常是表单提交,即用户点击了提交或类似的。(2)
使用浏览器的用户不能(通常)直接发出POST请求。
所以这是帮助你做出最佳猜测的几个基本规则,但是浏览器方面有很多东西可以搞乱这个逻辑我真的不认为你会找到一些能帮到你的东西准确。
答案 1 :(得分:0)
这是高级别的算法:
source = HTML form
source = human
您还可以在发送原始HTML表单时设置Cookie,检查它们在回发中的存在;把一些数据放在Session对象中等;这些都是同一个想法的变种。
答案 2 :(得分:0)
如果这是出于安全原因,那么这是不可能的。浏览器发送给您的任何内容也可以由用户发送。
但不清楚用户发送的是什么意思。
答案 3 :(得分:0)