最近在做一个网站的模拟登陆,基本步骤如下:
先打开登陆页,从页面的 Hidden Field 里面找到随机 Token,然后和用户名密码一起 Post 过去。
首先我用.NET Core 2.0 去实现,先用 HttpWebRequest 打开页面,拿到 Token,然后再开一个新的 HttpWebRequest 把数据 Post 过去,测试一切正常,登陆成功!
后来因为某些原因,我开始实现 Linux 下面的 Curl 版本。
步骤也差不多,先用 Curl 拿到页面 Token,然后再把数据 Post 过去。
现在问题就是 Curl 版本怎么也不成功,已经检查过拿到的 Token 是对的。
后来作对比的时候发现,
用.NET 下面的 HttpWebRequest 拿到的页面 Token,再放 Curl 里面直接 Post 过去,登陆就成功了。。。。
现在困扰我的就是.NET 下面用 HttpWebRequest Get 跟 Curl 的 Get 有什么区别吗?为什么 Curl 拿到的 Token 是错的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/388803
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.