原因是这样的,做了个淘宝的数据管理系统(仅供自己使用),然后需要淘宝卖家的生意参谋里面的一些数据,比如实时访客,里面有每个用户搜索什么关键字进来的,这些信息。
自己基于CefSharp开发了一个winform程序,但是有两个问题
1、让游览器控件执行js就可以获取里面的数据,在自动登录淘宝的时候,经常需要验证,很麻烦。所以自动登录就很难实现。
2、CefSharp里面可以获取传输中的数据,这里也有一个bug,没有找到类似问题的解决方案,就没有采用那种方法抓取数据了。
然后自己就开发了一个谷歌游览器控件,这种控件就挺简单了,就简单几个js,以前做的winform程序抓取数据时,写的js也可以得到很好的复用,然后就采用了这种方式。
数据抓取到了,就需要往发送到后台保存。
1、第一个问题就来了,跨域,这个很好解决。
2、第二个问题随之也来了,在https的网站往http的网站发送数据,发送有安全提示,只能在本地搭建一个https的服务器了。
ASP.NET web.config跨域配置,在configuration这个节点下。
<system.webServer> <httpProtocol> <customHeaders><add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> <add name="Access-Control-Allow-Headers" value="x-requested-with"/> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer>
搭建https服务器:
原文:https://www.jb51.net/yunying/304212.html
https://www.z01.com/help/https/2593.shtml
有图,照着图一步一步一般没事问题,就是要注意一下端口占用问题。
大致步骤:
1、需要从可信的证书办法机构CA获取服务器证书。
2、必须在WEB服务器上安装服务器证书。
3、必须在WEB服务器上启用SSL功能。
4、客户端(浏览器端)必须同WEB服务器信任同一个证书认证机构,即需要安装CA证书。
本地修改hosts文件实现域名解析
将文件:C:WindowsSystem32driversetchosts 修改为:192.168.2.73 www.guxingyue.com