问题描述
使用 Chrome Devtools 协议 (CDP) 可以让 Chrome“导航”到一个 URL。这样做会产生一个 GET。
有什么方法可以使用 POST 进行“导航”并提供正文? NavigateCommand 似乎只定义了 Url、CommandName、FrameId、Referrer 和 TransitionType。
我正在使用 CDP 的 BaristaLabs 实现的变体。执行 GET 的代码如下所示:
public async Task<byte[]> PdfFromUrl(
string url = "about:",bool landscape = false,bool displayheaderfooter = true,bool printBackground = false,byte[] postBody= null)
{
var newSessionInfo = await CreateNewSession();
try
{
using (var session = new ChromeSession(newSessionInfo.WebSocketDebuggerUrl))
{
using (var navigatorWatcher = new NavigatorWatcher(session))
{
await navigatorWatcher.Start();
var navCmd = new NavigateCommand { Url = url };
var navigateResult = await session.Page.Navigate(navCmd,millisecondsTimeout: 120 * 1000);
await navigatorWatcher.WaitForNetworkIdle();
}
postBody
参数是我的,它还没有做任何事情。
显然,帖子通常来自远程客户端。但我看不出有什么内在原因无法模拟,除了没有命令可以模拟。
我怀疑这个问题实际上是关于 CDP 以及我可能需要添加到 Barista Labs CDP 实施中的内容。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)