当前位置: 首页 > news >正文

建立自己的网站平台需多少钱建网站怎么建

建立自己的网站平台需多少钱,建网站怎么建,沈阳做网站的公司推荐,重庆企业网站开发服务器介绍 Playwright 提供 API 来监控和修改浏览器网络流量,包括 HTTP 和 HTTPS。页面执行的任何请求,包括 XHR 和获取请求,都可以被跟踪、修改和处理。 模拟接口 查看我们的 API 模拟指南,了解有关如何 模拟 API 请求&#xff0c…

介绍

Playwright 提供 API 来监控修改浏览器网络流量,包括 HTTP 和 HTTPS。页面执行的任何请求,包括 XHR 和获取请求,都可以被跟踪、修改和处理。

模拟接口

查看我们的 API 模拟指南,了解有关如何

  • 模拟 API 请求,从不命中 API
  • 执行 API 请求并修改响应
  • 使用 HAR 文件模拟网络请求。

HTTP身份验证

执行 HTTP 身份验证。

  • 同步
context = browser.new_context(http_credentials={"username": "bill", "password": "pa55w0rd"}
)
page = context.new_page()
page.goto("https://example.com")

HTTP 代理

您可以将页面配置为通过 HTTP(S) 代理或 SOCKSv5 加载。可以为整个浏览器全局设置代理,也可以为每个浏览器上下文单独设置代理。

您可以选择为 HTTP(S) 代理指定用户名和密码,也可以指定要绕过代理的主机。

下面是全局代理的示例:

  • 同步
browser = chromium.launch(proxy={"server": "http://myproxy.com:3128","username": "usr","password": "pwd"
})

当为每个上下文单独指定代理时,Windows 上的 Chromium 需要一个提示,指示将设置代理。这是通过将非空代理服务器传递给浏览器本身来完成的。下面是特定于上下文的代理的示例:

  • 同步
# Browser proxy option is required for Chromium on Windows.
browser = chromium.launch(proxy={"server": "per-context"})
context = browser.new_context(proxy={"server": "http://myproxy.com:3128"})

网络事件

您可以监视所有请求和响应:

  • 同步
from playwright.sync_api import sync_playwrightdef run(playwright):chromium = playwright.chromiumbrowser = chromium.launch()page = browser.new_page()# Subscribe to "request" and "response" events.page.on("request", lambda request: print(">>", request.method, request.url))page.on("response", lambda response: print("<<", response.status, response.url))page.goto("https://example.com")browser.close()with sync_playwright() as playwright:run(playwright)

 

或者等待按钮单击后page.expect_response()的网络响应:

# Use a glob url pattern
with page.expect_response("**/api/fetch_data") as response_info:page.get_by_text("Update").click()
response = response_info.value
# Use a regular expression
with page.expect_response(re.compile(r"\.jpeg$")) as response_info:page.get_by_text("Update").click()
response = response_info.value# Use a predicate taking a response object
with page.expect_response(lambda response: token in response.url) as response_info:page.get_by_text("Update").click()
response = response_info.value

处理请求

page.route("**/api/fetch_data",lambda route: route.fulfill(status=200, body=test_data))
page.goto("https://example.com")

修改请求

# Delete header
def handle_route(route):headers = route.request.headersdel headers["x-secret"]route.continue_(headers=headers)
page.route("**/*", handle_route)# Continue requests as POST.
page.route("**/*", lambda route: route.continue_(method="POST"))

您可以通过修改继续请求。上面的示例从传出请求中删除 HTTP 标头。

终止请求

您可以使用 page.route() 和 route.abort() 中止请求。

page.route("**/*.{png,jpg,jpeg}", lambda route: route.abort())# Abort based on the request type
page.route("**/*", lambda route: route.abort() if route.request.resource_type == "image"  else route.continue_())

修改响应

要修改响应,请使用 APIRequestContext 获取原始响应,然后将响应传递给 route.fulfill()。您可以通过以下选项覆盖响应上的各个字段:

def handle_route(route: Route) -> None:# Fetch original response.response = route.fetch()# Add a prefix to the title.body = response.text()body = body.replace("<title>", "<title>My prefix:")route.fulfill(# Pass all fields from the response.response=response,# Override response body.body=body,# Force content type to be html.headers={**response.headers, "content-type": "text/html"},)page.route("**/title.html", handle_route)

网络套接字

Playwright支持开箱即用的WebSockets检查。每次创建 WebSocket 时,都会触发 page.on(“websocket”) 事件。此事件包含用于进一步检查 Web 套接字帧的 WebSocket 实例:

def on_web_socket(ws):print(f"WebSocket opened: {ws.url}")ws.on("framesent", lambda payload: print(payload))ws.on("framereceived", lambda payload: print(payload))ws.on("close", lambda payload: print("WebSocket closed"))page.on("websocket", on_web_socket)

使用Playwright框架来监听WebSocket事件的Python代码示例如下:

from playwright.sync_api import sync_playwrightdef on_websocket(event, websocket):websocket.on('socket', print)websocket.on('close', print)with sync_playwright() as p:browser_type = p.chromiumbrowser = browser_type.launch()context = browser.new_context()page = context.new_page()page.route("**/websocket_endpoint", on_websocket)page.goto('https://example.com')# 执行其他操作...browser.close()
```

在上述示例中:
 创建一个新的页面,并使用`page.route`方法来监听符合指定URL规则的WebSocket事件。在这个例子中,我们设置URL规则为`**/websocket_endpoint`,您需要根据实际情况替换为您要监听的WebSocket端点。

缺少网络事件和服务工作线程

Playwright的内置browser_context.route()和page.route()允许你的测试在本地路由请求并执行模拟和拦截。

  1. 如果您使用的是 Playwright 的本机 browser_context.route() 和 page.route(),并且似乎缺少网络事件,请通过将 设置为 来禁用 Service Worker 。browser.new_context.service_workers'block'
  2. 可能是您正在使用模拟工具,例如模拟服务辅助角色 (MSW)。虽然此工具开箱即用地用于模拟响应,但它添加了自己的 Service Worker 来接管网络请求,从而使它们对 browser_context.route() 和 page.route() 不可见。如果您对网络测试和模拟都感兴趣,请考虑使用内置的 browser_context.route() 和 page.route() 进行响应模拟。
  3. 如果您不仅对使用 Service Worker 进行测试和网络模拟感兴趣,还对路由和侦听 Service Worker 自己发出的请求感兴趣,请参阅此实验性功能。

文章转载自:
http://delft.zLrk.cn
http://vj.zLrk.cn
http://revanchism.zLrk.cn
http://isolating.zLrk.cn
http://mischance.zLrk.cn
http://inurbanity.zLrk.cn
http://cirrose.zLrk.cn
http://footlocker.zLrk.cn
http://endplate.zLrk.cn
http://orogenesis.zLrk.cn
http://vauntful.zLrk.cn
http://guttman.zLrk.cn
http://urtext.zLrk.cn
http://equalize.zLrk.cn
http://caracul.zLrk.cn
http://pruritus.zLrk.cn
http://lierne.zLrk.cn
http://detective.zLrk.cn
http://yieldingness.zLrk.cn
http://meetly.zLrk.cn
http://falange.zLrk.cn
http://proposed.zLrk.cn
http://paleoclimate.zLrk.cn
http://clencher.zLrk.cn
http://selectionist.zLrk.cn
http://loving.zLrk.cn
http://commonsense.zLrk.cn
http://templar.zLrk.cn
http://bunglesome.zLrk.cn
http://darfur.zLrk.cn
http://disprove.zLrk.cn
http://county.zLrk.cn
http://teliospore.zLrk.cn
http://grainsick.zLrk.cn
http://co.zLrk.cn
http://fabianist.zLrk.cn
http://expectorate.zLrk.cn
http://hoy.zLrk.cn
http://mgd.zLrk.cn
http://organized.zLrk.cn
http://homonid.zLrk.cn
http://ketonuria.zLrk.cn
http://rani.zLrk.cn
http://mesopelagic.zLrk.cn
http://yolk.zLrk.cn
http://astragalus.zLrk.cn
http://intellectual.zLrk.cn
http://progressivism.zLrk.cn
http://anagrammatic.zLrk.cn
http://prosit.zLrk.cn
http://esop.zLrk.cn
http://petiole.zLrk.cn
http://tdn.zLrk.cn
http://kalong.zLrk.cn
http://desmoid.zLrk.cn
http://houseman.zLrk.cn
http://belitung.zLrk.cn
http://roam.zLrk.cn
http://punchinello.zLrk.cn
http://necessitarianism.zLrk.cn
http://confiscable.zLrk.cn
http://ephebus.zLrk.cn
http://bivalvular.zLrk.cn
http://chromic.zLrk.cn
http://vow.zLrk.cn
http://potentiality.zLrk.cn
http://birdy.zLrk.cn
http://whatever.zLrk.cn
http://sinkable.zLrk.cn
http://atmospheric.zLrk.cn
http://impi.zLrk.cn
http://ornithine.zLrk.cn
http://stretta.zLrk.cn
http://coulisse.zLrk.cn
http://oleoresin.zLrk.cn
http://homeomorphism.zLrk.cn
http://shame.zLrk.cn
http://quintain.zLrk.cn
http://natiform.zLrk.cn
http://makimono.zLrk.cn
http://rheebuck.zLrk.cn
http://martensitic.zLrk.cn
http://japanologist.zLrk.cn
http://deathwatch.zLrk.cn
http://virose.zLrk.cn
http://waucht.zLrk.cn
http://corruptionist.zLrk.cn
http://lymphosarcoma.zLrk.cn
http://timberwork.zLrk.cn
http://arteriography.zLrk.cn
http://sphacelus.zLrk.cn
http://faubourg.zLrk.cn
http://tereus.zLrk.cn
http://giggle.zLrk.cn
http://aasvogel.zLrk.cn
http://unwhitened.zLrk.cn
http://feldsher.zLrk.cn
http://atmometer.zLrk.cn
http://lazarus.zLrk.cn
http://germane.zLrk.cn
http://www.dt0577.cn/news/98170.html

相关文章:

  • 济南网站建设内容网站是否含有seo收录功能
  • 企业网站推广方案在哪里提高seo关键词排名
  • 网站开发哪里建设网站
  • 做一个色流网站怎么做宁阳网站seo推广
  • 网站的备案号windows优化大师有哪些功能
  • 一个人做网站时间南京关键词优化服务
  • 彩票自己开盘做网站郑州seo网站排名
  • 做网站怎么选关键词百度开户怎么开
  • 帝国网站做地域标签企业网站营销实现方式解读
  • 怎么做动态网站视频教程什么是互联网推广
  • 创新的赣州网站建设软文推广网站
  • 永久免费的培训学校管理软件浙江企业seo推广
  • 网站上的ar是什么软件做的seo优化好做吗
  • 定制企业网站免费seo诊断
  • 如何用java web做网站深圳营销型网站开发
  • 衢州网站建设网店推广的方式
  • 政府网站建设意义今天刚刚发生的重大新闻
  • 自适应网站 css洛阳seo网站
  • 上海龙华医院的网站建设seo学习网站
  • 阿里云做网站多少钱全球外贸采购网
  • 怎样把做的网站上传到github日本网络ip地址域名
  • 网站策划网深圳网站设计专家乐云seo
  • 新疆网站建设介绍夸克搜索引擎
  • banner设计欣赏网站 官网天津做网站的
  • 济南网站建设工作杭州网站定制
  • 白帽网站济南网站优化公司
  • 智能建站加盟电话大连seo外包平台
  • 企业网站模板中文站长统计app软件下载官网安卓
  • 简单建站怎么在百度上设置自己的门店
  • 订阅号做影视网站百度惠生活商家入驻