最近在做数据分析平台,那在做这个产品的时最需要的自然是测试数据,自己去构建行业测试数据比较麻烦,看到有同行产品的演示数据当然不能错过。由于采集过程中使用到BeetleX.Http.Clients去抓取第三方的Https接口数据,所以顺便记录一下BeetleX.Http.Clients使用的方法。

首先构建一个控制台程序,然后Nuget引用BeetleX.Http.Clients组件,引用后就可以干活了,组件提供一个HttpClient对象可以很方便的对webapi进行访问,即使是调用https也无须添加任何配置即可完成。

接下来取一下https://console.bce.xxxx.com/sugar/的演示产品数据。

BeetleX.Http.Clients.HttpJsonClient client = new BeetleX.Http.Clients.HttpJsonClient("https://sugar.bce.baidu.com/");
client.SetHeader("csrf-token", "xDgdnfJ8-NhQZ0xWD8ZsjBrs1pTAGyp-CJ6U");
client.SetHeader("cookie", "BIDUPSID=127E2C6CE0EBA549524FAA4EE738C5F7; PSTM=1559696211; BAIDUID=D1235FD0F3793CD52877199489385314:FG=1; MCITY=-257%3A; H_WISE_SIDS=107320_110085_127969_131423_132549_144966_154213_155931_164108_164869_165135_166148_167086_167296_168030_168490_168542_169061_169307_169708_169882_170149_170155_170221_170244_170355_170474_170579_170583_170590_170607_170762_170810_170817_170873_170957_171216_171223_171234_171523_171584_171622_171816_171837_171850_171989_172128_172247_172496_172679; CAMPAIGN_TRACK=cp%3Aotheronline-media%7Cpf%3Apc%7Cpp%3Abaiduyunduanxin-huodong-21kainianshengdian-laoyonghu%7Cpu%3Aduanxin%7Cci%3A2021knsd%7Ckw%3A10074020; CAMPAIGN_TRACK_TIME=2021-03-29+14%3A18%3A33; sugarbisid=s%3Ao_q8jIFFbRjcEf8-x-CCXG2yL_pZdEnt.948a4PF6nEojy%2FSYM0Y05l2f8%2Br%2F6dpTc9NCMuOQj78; sugar-company=scp_1013e-2xjcwe8b-oqpvmj; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BAIDUID_BFESS=AFCE5C81652686EBDB40FA33174550AB:FG=1; __yjs_duid=1_e8da08a67d6144100f2ea8eb59d6178f1617255570813; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; delPer=0; PSINO=6; ab_sr=1.0.0_YjQyYWZhZWE2Yjc4ZThlNWY1MWYwMDNlMTc2MmEyNDc2ZTI4ZjFmMGYxMDg0NTVjZTFiYWI4ZDg2MzVlM2RlOGQ5YTM1NTE3ZDJjNzk1NDUxYTExYjYzODI1YWEyYTAwOTNkMmFhYjg4NDQwNmU5NmQwYjRiMzk0Zjc0MDBiMzc=; H_PS_PSSID=33797_33639_33740_33272_33689_33760_33675_33392_33624_33163_26350_22159; BA_HECTOR=a4a5000g8ka1a081ov1g6damo0q; __bce-console-referrer__=; BCE_MONITOR_TRACK_SESSION_ID=161734115059605fe; Hm_lvt_28a17f66627d87f1d046eae152a1c93d=1614946024,1615288720,1616998877,1617341151; BDUSS=TI2b01Qa1ZQWTV3dzhnV0JDWWVtbTdHNGV-bzdCRE95LXdibmRhN0VUcnBONDVnSUFBQUFBJCQAAAAAAAAAAAEAAADrubswZmFuaGVucnlmYW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOmqZmDpqmZgW; BDUSS_BFESS=TI2b01Qa1ZQWTV3dzhnV0JDWWVtbTdHNGV-bzdCRE95LXdibmRhN0VUcnBONDVnSUFBQUFBJCQAAAAAAAAAAAEAAADrubswZmFuaGVucnlmYW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOmqZmDpqmZgW; x-bce-login-redirect-url=https%3A%2F%2Fconsole.bce.baidu.com%2Fcdn%2F%3F_%3D1611315494638#/cdn/list; bce-login-type=PASSPORT; bce-passport-stoken=d32f2a3af24c12142043dbb85ccd70f44dac7b8696f4af61b520a7d98b0654bc; bce-auth-type=PASSPORT; bce-sessionid=001f9c8d3c3652c440b8ec3194c735a27ea; bce-ctl-client-cookies=\"BDUSS, bce - passport - stoken, bce - device - cuid, bce - device - token, BAIDUID\"; bce-ctl-client-parameters=brt; bce-ctl-client-headers=\"\"; bce-user-info=\"2021 - 04 - 02T13: 26:03Z | ad8d8a4a97be5a3da27db213fbdd14f7\"; bce-login-display-name=fanhenryfan; bce-userbind-source=PASSPORT; bce-session=0cb2dc02d3454eb6aaa545892e3e29d034da1482052a4e2cab27863d4f43d8a4|2d53879befa5dddebb239f0b4fe7e8f9; bce-ctl-sessionmfa-cookie=bce-session; bce-login-expire-time=\"2021 - 04 - 02T05: 56:03Z | 802ff95a53ab810c6938f59a506512d3\"; bce-locale=zh-cn; BCE_MONITOR_TRACK_SESSION_ID=161734115059605fe; BAIDU_CLOUD_TRACK_PATH=https%3A%2F%2Fcloud.baidu.com%2Fproduct%2Fsugar.html; Hm_lpvt_28a17f66627d87f1d046eae152a1c93d=1617341420; _csrf=EIyOZMiPySNSeutEtga6VE9j; Hm_lvt_0369a83cfe6c3d97357eea08cc40e92f=1616998914,1617341442; Hm_lpvt_0369a83cfe6c3d97357eea08cc40e92f=1617341442");
client.SetHeader("referer", "https://sugar.bce.xxxx.com/group/first/manage/dbPreview?database=d_1013e-akrxglq5-kej8q1&__scp__=scp_1013e-2xjcwe8b-oqpvmj");
List<Row> datas = new List<Row>();
for (int i = 1; i <= 980; i++)
{client.SetBody(new { page = i, perPage = 10 });var result = await client.Post("/api/group/g_1013e-1x6fmdc9-1pyz2x/database/d_1013e-akrxglq5-kej8q1/getTableData?table=medical_list&_replace=1");var data = ((JToken)result.Body)["data"];if (data != null){var row = data["rows"];if (row != null){var items = row.ToObject<List<Row>>();datas.AddRange(items);System.Threading.Thread.Sleep(200);}}}

由于接口的调用需要一些访问凭证信息,这些信息可以通过浏览器访问获取得到。

只需要在浏览器访问一下就可以获取到详细的cookie和token信息,把这些信息添加到http的头。配置好之后所有工作就简单多了,在调用Post后根据自己需要解释对应Body的数据即可。由于平台没做调用限制,没过几分钟900多页的数据就成功获取下来

BeetleX

开源跨平台通讯框架(支持TLS)
提供高性能服务和大数据处理解决方案

https://beetlex.io

BeetleX.Http.Clients访问https服务相关推荐

  1. 国产化之银河麒麟.netcore3.1访问https服务的两个问题

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...

  2. Java 通过证书访问Https服务

    前言 有些HTTP 服务要求客户端在请求的时候使用证书加密/解密/授权 (客户端证书授权).比如说下面的 curl 命令 curl --insecure \--cert cert.crt \ --ke ...

  3. 记录一下Java访问https服务出现的异常情况

    异常情况1: 报错拋异常javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX pat ...

  4. 使用BeetleX访问redis服务

    BeetleX针对redis访问封了全async/await操作模式,通过它可以更高效地访问redis服务.BeetleX.Redis提供读写分离和多机故意写入处理,同时安全的TLS访问机制,在使用功 ...

  5. (SVN笔记)https外网IP端口映射内网IP端口访问SVN服务端

    目录 1.前言 2.花生壳优点与相关技术 3.设置SVN服务器 4.外网IP映射内网IP访问SVN Server 5.总结 1.前言         上一章介绍了局域网内https服务端配置与客户端联 ...

  6. [Jeson]Nginx入门到实践1-4章 ,关闭iptables,nginx重启,nginx缓存, 跨站访问,Rewrite规则,Https服务优化

    第4章 Nginx 与 Lua nginx 与 Lua Https服务优化 激活keepalive长连接 设置ssl session 缓存 动静分离 Rewrite规则 nginx 常见正则匹配符号表 ...

  7. BeetleX.Http.Clients V1.5发布

    组件开始设计是针对以接口的方式来定义HTTP/HTTPS访问,虽然基于接口来操作有很大的便利性,但定义起来就比较麻烦了.所以在1.5版本中实现了一个HttpClient类来简化调用. HttpClie ...

  8. IIS 使用OpenSSL 生成的自签名证书,然后使用SingalR 客户端访问Https 站点通信

    使用SignalR 的客户端去发送消息给使用 https 部署的站点,官方文档目前并没有详细的教程,所以在此记录下步骤: 使用管理员身份打开cmd 窗口,选择一个整数保存文件夹的地址,切换到对应的文件 ...

  9. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器启用https服务申请免费证书...

    背景分析 目前想在 web 上使用 HTTPS 的话, 你需要获得一个证书文件, 该证书由一个受浏览器信任的公司所签署. 一旦你获得了它, 你就在你的 web 服务器上指定其所在的位置, 以及与你关联 ...

最新文章

  1. NGUI 减少Draw Call
  2. 2016年2月工作日志
  3. 虚拟机无法接受组播消息_基于UDP的组播通信
  4. Sql Server之数据类型详解
  5. 搜狗开源srpc:自研高性能通用RPC框架
  6. Automatic Brain Tumor Segmentation using Cascaded Anisotropic Convolutional Neural Networks
  7. 华为IPD研发项目管理5项精髓
  8. 最强数据库工具——IDEA
  9. 兄弟9020cdn提示更换粉盒_兄弟打印机提示更换墨粉盒怎么办
  10. Magnific Popup – 免费的响应式 jQuery Lightbox 插件
  11. Unity 世界坐标、屏幕坐标、UGUI 坐标 相互转换
  12. Java 神级项目 yyds
  13. 计算机二进制发明者,谁是二进制的发明者
  14. 深海迷航代码_?《深海迷航(Subnautica)》如何输入代码
  15. Cell综述:人类肠道菌群-从关联到调控
  16. 关于“墨者安全专家3.7”不得不说的事情
  17. 怎样查看 iPhone 基带版本号
  18. Webmin未经身份验证的远程代码执行
  19. 移动终端软件测试基础知识,移动终端软件测试基础知识 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  20. 统一调度平台V2.0

热门文章

  1. C# Global.asax.cs 定时任务
  2. win7 32位 安装opencv-python后,运行时提示 from .cv2 import *: DLL load failed: 找不到指定的模块 的解决办法...
  3. visual studio开启多核编译方法
  4. 一个入门的学生选课系统
  5. 烟袋斜街-后海,印象已模糊
  6. 从Boxee的Amie Street访问音乐
  7. 初学者:如何使用虚拟PC将Windows 7安装到虚拟机
  8. 如何在PowerPoint中自动调整图片大小
  9. imessage_如何在所有Apple设备上同步您的iMessage
  10. 飞利浦dicom_如何按计划打开或关闭飞利浦色相灯