NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢
这是代码:https://files.cnblogs.com/files/suterfo/NetCoreTestPro.rar
运行步骤:
一、使用Visual Studio2017打开项目,并F5运行项目。之后在浏览器输入http://xxx.xxx.xx.xxx:57275/ (xxx.xxx.xx.xxx为你本机的IP)。效果如下:
二、由于WireShark只能抓取经过电脑网卡的包,若是使用localhost或者127.0.0.1进行测试的,流量是不经过电脑网卡的,所以WireShark无法抓包,所以要进行以下设置。
1 . 以管理员身份打开命令提示符
2 . 输入 route add 本机ip mask 255.255.255.255 网关ip
如果不知道本机ip和网关ip,可以在命令行输入ipconfig查看
例如我的 :
route add 169.254.21.105 mask 255.255.255.255 169.254.11.111
注:关闭经网卡命令是:route delete 169.254.21.105 mask 255.255.255.255 169.254.11.111
三、打开 WireShark,并在输入栏填写:ip.addr == 169.254.21.105 and tcp.port == 57275 (这里要改成你的IP),如图示:
四 、选择文件进行上传,随便找一个几M的文件操作就可以。
五、文件会显示上传失败,并显示401。
六、在刚才的WireShark抓包数据里随便一条正常包点击右键---追踪流---TCP流。
七、看到整个文件是8402 KB。
八、关键代码如下:
九、问题是:已经在上传前校验为未授权401,为什么浏览器仍会主动执行上传操作,该操作会消耗服务器流量。需要如何解决?有知道的朋友请留言并告知,十分感谢。