我使用ws端点(puppeteer.connect({ browserWSEndpoint: '' })
)连接到浏览器.
当我启动我最终连接的浏览器时,有没有办法以隐身方式启动它?
我知道我可以这样做:
const incognito = await this.browser.createIncognitoBrowserContext();
Run Code Online (Sandbox Code Playgroud)
但似乎隐身会话与最初打开的浏览器相关联.我只是希望它本身.
我也看到你可以这样做:
const baseOptions: LaunchOptions = { args: ['--incognito']};
Run Code Online (Sandbox Code Playgroud)
但我不确定这是不是最好的方式.
任何意见,将不胜感激.谢谢!
javascript node.js incognito-mode google-chrome-headless puppeteer
我正在尝试捕获对我的服务器发出的请求可能发生的错误。
当我在我的一个 POST 请求(甚至在到达我的请求处理程序方法之前抛出)收到 400 时出现了这个问题,并且在启用调试日志后我没有收到关于问题是什么的反馈我看到了问题
[actix_web::types::json] Failed to deserialize Json from payload. Request path: /new_endpoint
Json deserialize error: invalid length: expected one of [36, 32], found 10 at line 2 column 20
[DEBUG actix_web::middleware::logger] Error in response: Deserialize(Error("invalid length: expected one of [36, 32], found 10", line: 2, column: 20))
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够捕获该错误,以便它可以在 400 响应的正文中发回。
我已经开始了
App::new()
.wrap(ErrorHandlers::new().handler(http::StatusCode::BAD_REQUEST, handle_bad_request))
Run Code Online (Sandbox Code Playgroud)
并且handle_bad_request
我能够修改响应正文以包含新信息
fn handle_bad_request<B>(mut res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<Body>> {
res.response_mut().headers_mut().insert(
http::header::CONTENT_TYPE,
http::HeaderValue::from_static("application/json"),
);
let new_res: ServiceResponse<Body> = res.map_body(|_head, _body| {
ResponseBody::Other(Body::Message(Box::new("New …
Run Code Online (Sandbox Code Playgroud) 我是标头出价和预出价的新手,但我试图了解出价前和 DFP 广告管理系统如何协同工作。prebid 是否会在页面加载时进行拍卖,然后再转到 DFP 以查看是否有更好的广告可以投放?那么无论假设要呈现什么广告,它最终都会通过预出价呈现在页面上?
谢谢您的帮助。