Name | pwproxy JSON |
Version |
1.1.2
JSON |
| download |
home_page | |
Summary | Implement the core functions of mitmproxy based on playwright: request interception, response tampering |
upload_time | 2023-06-07 15:28:05 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.10 |
license | MIT |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# pwproxy
<hr>
> 基于playwright实现mitmproxy的核心功能:请求拦截,响应篡改<br>
优点
1. 基于playwright,直接调用本地浏览器,不用以设置代理的方式启动浏览器, mitmproxy必须以冷启动设置代理的方法启动本地浏览器才能实现拦截
2. 不需要考虑安全证书的问题
# 安装
`pip install pwproxy`
# 使用
<hr>
目录结构:<br>
```python
├─run.py
├─demo.py
```
```python
# run.py
from pwproxy.run import Run
Run.run("demo.py", url="http://example.com/")
```
```python
# demo.py
from playwright.sync_api import Route
def replace_resp(route: Route):
if "http://example.com/" in route.request.url:
response = route.fetch()
body = response.text()
body = body.replace("Example Domain", "Goodo")
route.fulfill(
body=body
)
addons = [
replace_resp
]
```
Raw data
{
"_id": null,
"home_page": "",
"name": "pwproxy",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "",
"author": "",
"author_email": "gaochuang <895091550@qq.com>",
"download_url": "https://files.pythonhosted.org/packages/d3/7c/e28b0d7dd3a55c1846fcf9c5cb0d6baf008995f5e87b99368b8743a76825/pwproxy-1.1.2.tar.gz",
"platform": null,
"description": "# pwproxy\n\n<hr>\n\n> \u57fa\u4e8eplaywright\u5b9e\u73b0mitmproxy\u7684\u6838\u5fc3\u529f\u80fd:\u8bf7\u6c42\u62e6\u622a,\u54cd\u5e94\u7be1\u6539<br>\n\n\u4f18\u70b9\n\n1. \u57fa\u4e8eplaywright\uff0c\u76f4\u63a5\u8c03\u7528\u672c\u5730\u6d4f\u89c8\u5668\uff0c\u4e0d\u7528\u4ee5\u8bbe\u7f6e\u4ee3\u7406\u7684\u65b9\u5f0f\u542f\u52a8\u6d4f\u89c8\u5668, mitmproxy\u5fc5\u987b\u4ee5\u51b7\u542f\u52a8\u8bbe\u7f6e\u4ee3\u7406\u7684\u65b9\u6cd5\u542f\u52a8\u672c\u5730\u6d4f\u89c8\u5668\u624d\u80fd\u5b9e\u73b0\u62e6\u622a\n2. \u4e0d\u9700\u8981\u8003\u8651\u5b89\u5168\u8bc1\u4e66\u7684\u95ee\u9898\n\n# \u5b89\u88c5\n\n`pip install pwproxy`\n\n# \u4f7f\u7528\n\n<hr>\n\u76ee\u5f55\u7ed3\u6784:<br>\n\n```python\n\u251c\u2500run.py\n\u251c\u2500demo.py\n```\n\n```python\n# run.py\nfrom pwproxy.run import Run\n\nRun.run(\"demo.py\", url=\"http://example.com/\")\n```\n\n```python\n# demo.py\nfrom playwright.sync_api import Route\n\n\ndef replace_resp(route: Route):\n if \"http://example.com/\" in route.request.url:\n response = route.fetch()\n body = response.text()\n body = body.replace(\"Example Domain\", \"Goodo\")\n route.fulfill(\n body=body\n )\n\naddons = [\n replace_resp\n]\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Implement the core functions of mitmproxy based on playwright: request interception, response tampering",
"version": "1.1.2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3554dffa7c2eaa48b5590ec915555f532f5c3f3cc7a6001236888aa7561549e4",
"md5": "ff7232a55c743ffe827d1e67bb8fbd30",
"sha256": "82a36cf8822566ff4ecac6c72ea846db7ed6d3b1dd8ccafb808733a566d10b74"
},
"downloads": -1,
"filename": "pwproxy-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ff7232a55c743ffe827d1e67bb8fbd30",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 4061,
"upload_time": "2023-06-07T15:28:03",
"upload_time_iso_8601": "2023-06-07T15:28:03.459946Z",
"url": "https://files.pythonhosted.org/packages/35/54/dffa7c2eaa48b5590ec915555f532f5c3f3cc7a6001236888aa7561549e4/pwproxy-1.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d37ce28b0d7dd3a55c1846fcf9c5cb0d6baf008995f5e87b99368b8743a76825",
"md5": "2d690234054d917bc872e136f3766ee8",
"sha256": "164d06703b50a2219f04e140e9a43f8da0dada1a1aee54494da174b6021c7001"
},
"downloads": -1,
"filename": "pwproxy-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "2d690234054d917bc872e136f3766ee8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3411,
"upload_time": "2023-06-07T15:28:05",
"upload_time_iso_8601": "2023-06-07T15:28:05.051317Z",
"url": "https://files.pythonhosted.org/packages/d3/7c/e28b0d7dd3a55c1846fcf9c5cb0d6baf008995f5e87b99368b8743a76825/pwproxy-1.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-07 15:28:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "pwproxy"
}