Notebooks >> Scripts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

190 lines
9.6 KiB

{
"cells": [
{
"cell_type": "markdown",
"id": "f1543948-4781-4f50-849e-1e8b9786b7bb",
"metadata": {},
"source": [
"# Splash"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "8aaec01c-4b87-4949-8787-e9dec8b2e5dd",
"metadata": {
"execution": {
"iopub.execute_input": "2021-10-26T03:50:20.355782Z",
"iopub.status.busy": "2021-10-26T03:50:20.355387Z",
"iopub.status.idle": "2021-10-26T03:50:20.870039Z",
"shell.execute_reply": "2021-10-26T03:50:20.855218Z",
"shell.execute_reply.started": "2021-10-26T03:50:20.355743Z"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(b'{\"url\": \"http://example.com/\", \"requestedUrl\": \"http://example.com/\", \"geome'\n",
" b'try\": [0, 0, 1024, 768], \"title\": \"Example Domain\", \"html\": \"<!DOCTYPE html>'\n",
" b'<html><head>\\\\n <title>Example Domain</title>\\\\n\\\\n <meta charset=\\\\\"u'\n",
" b'tf-8\\\\\">\\\\n <meta http-equiv=\\\\\"Content-type\\\\\" content=\\\\\"text/html; '\n",
" b'charset=utf-8\\\\\">\\\\n <meta name=\\\\\"viewport\\\\\" content=\\\\\"width=device'\n",
" b'-width, initial-scale=1\\\\\">\\\\n <style type=\\\\\"text/css\\\\\">\\\\n body '\n",
" b'{\\\\n background-color: #f0f0f2;\\\\n margin: 0;\\\\n paddi'\n",
" b'ng: 0;\\\\n font-family: -apple-system, system-ui, BlinkMacSystemFon'\n",
" b't, \\\\\"Segoe UI\\\\\", \\\\\"Open Sans\\\\\", \\\\\"Helvetica Neue\\\\\", Helvetica, Arial'\n",
" b', sans-serif;\\\\n \\\\n }\\\\n div {\\\\n width: 600px;\\\\n '\n",
" b' margin: 5em auto;\\\\n padding: 2em;\\\\n background-color'\n",
" b': #fdfdff;\\\\n border-radius: 0.5em;\\\\n box-shadow: 2px 3px 7'\n",
" b'px 2px rgba(0,0,0,0.02);\\\\n }\\\\n a:link, a:visited {\\\\n color:'\n",
" b' #38488f;\\\\n text-decoration: none;\\\\n }\\\\n @media (max-width:'\n",
" b' 700px) {\\\\n div {\\\\n margin: 0 auto;\\\\n width'\n",
" b': auto;\\\\n }\\\\n }\\\\n </style> \\\\n</head>\\\\n\\\\n<body>\\\\n<div'\n",
" b'>\\\\n <h1>Example Domain</h1>\\\\n <p>This domain is for use in illustr'\n",
" b'ative examples in documents. You may use this\\\\n domain in literature '\n",
" b'without prior coordination or asking for permission.</p>\\\\n <p><a href'\n",
" b'=\\\\\"https://www.iana.org/domains/example\\\\\">More information...</a></p>\\\\n<'\n",
" b'/div>\\\\n\\\\n\\\\n</body></html>\", \"history\": [], \"har\": {\"log\": {\"version\": \"1'\n",
" b'.2\", \"creator\": {\"name\": \"Splash\", \"version\": \"3.5\"}, \"browser\": {\"name\": \"Q'\n",
" b'WebKit\", \"version\": \"602.1\", \"comment\": \"PyQt 5.14.2, Qt 5.14.1\"}, \"entries\"'\n",
" b': [], \"pages\": [{\"id\": \"1\", \"title\": \"Example Domain\", \"startedDateTime\": \"2'\n",
" b'021-10-26T03:50:20.767475Z\", \"pageTimings\": {\"onContentLoad\": 4, \"onLoad\": 2'\n",
" b'3, \"_onStarted\": 1, \"_onPrepareStart\": 23, \"_onIframesRendered\": 24}}]}}}')\n"
]
}
],
"source": [
"import json\n",
"import pprint\n",
"\n",
"import requests\n",
"\n",
"resp = requests.post(\n",
" \"https://kong.donavanaldrich.com/splash\",\n",
" json={\n",
" \"url\": \"http://example.com\",\n",
" \"history\": 1,\n",
" \"html\": 1,\n",
" \"request_body\": 1,\n",
" \"har\": 1,\n",
" },\n",
")\n",
"\n",
"png_data = resp.content\n",
"\n",
"pp = pprint.PrettyPrinter(indent=4, sort_dicts=True)\n",
"pp.pprint(png_data)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1630de92-c015-43a3-b747-9d29ca5afba2",
"metadata": {
"execution": {
"iopub.execute_input": "2021-10-26T04:36:51.911804Z",
"iopub.status.busy": "2021-10-26T04:36:51.911422Z",
"iopub.status.idle": "2021-10-26T04:36:55.323679Z",
"shell.execute_reply": "2021-10-26T04:36:55.322189Z",
"shell.execute_reply.started": "2021-10-26T04:36:51.911765Z"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Defaulting to user installation because normal site-packages is not writeable\n",
"Collecting httpie\n",
" Downloading httpie-3.2.1-py3-none-any.whl (124 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m125.0/125.0 KB\u001b[0m \u001b[31m1.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: pip in /usr/lib/python3/dist-packages (from httpie) (22.0.2)\n",
"Requirement already satisfied: multidict>=4.7.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from httpie) (6.0.2)\n",
"Requirement already satisfied: requests[socks]>=2.22.0 in /usr/lib/python3/dist-packages (from httpie) (2.25.1)\n",
"Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from httpie) (59.6.0)\n",
"Requirement already satisfied: rich>=9.10.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from httpie) (12.4.4)\n",
"Requirement already satisfied: defusedxml>=0.6.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from httpie) (0.7.1)\n",
"Collecting requests-toolbelt>=0.9.1\n",
" Using cached requests_toolbelt-0.9.1-py2.py3-none-any.whl (54 kB)\n",
"Requirement already satisfied: Pygments>=2.5.2 in /home/donaldrich/.local/lib/python3.10/site-packages (from httpie) (2.12.0)\n",
"Collecting charset-normalizer>=2.0.0\n",
" Using cached charset_normalizer-2.1.0-py3-none-any.whl (39 kB)\n",
"Collecting PySocks!=1.5.7,>=1.5.6\n",
" Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)\n",
"Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /home/donaldrich/.local/lib/python3.10/site-packages (from rich>=9.10.0->httpie) (0.9.1)\n",
"Installing collected packages: requests-toolbelt, PySocks, charset-normalizer, httpie\n",
"Successfully installed PySocks-1.7.1 charset-normalizer-2.1.0 httpie-3.2.1 requests-toolbelt-0.9.1\n",
"Note: you may need to restart the kernel to use updated packages.\n",
"\u001b[34mHTTP\u001b[39;49;00m/\u001b[34m1.1\u001b[39;49;00m \u001b[34m404\u001b[39;49;00m \u001b[36mNot Found\u001b[39;49;00m\n",
"\u001b[36mCF-Cache-Status\u001b[39;49;00m: DYNAMIC\n",
"\u001b[36mCF-RAY\u001b[39;49;00m: 738eaac46e3e9f0a-DFW\n",
"\u001b[36mConnection\u001b[39;49;00m: keep-alive\n",
"\u001b[36mContent-Length\u001b[39;49;00m: 0\n",
"\u001b[36mDate\u001b[39;49;00m: Thu, 11 Aug 2022 05:45:47 GMT\n",
"\u001b[36mExpect-CT\u001b[39;49;00m: max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"\n",
"\u001b[36mNEL\u001b[39;49;00m: {\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}\n",
"\u001b[36mReport-To\u001b[39;49;00m: {\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=KMwuG83peUj0Eb0KdC4TpbV04BRgFZJfc9kuZ0pAAB7i3CBBxRPPQvw6BJrQgw1FgPGvY1cxMOHPpWfm4ioawmG8T73vyyOB0Jy8424rGniO5s7VJlDc2kbHzGlBx1EwE3cnNxcfK45pZg%3D%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}\n",
"\u001b[36mServer\u001b[39;49;00m: cloudflare\n",
"\u001b[36mStrict-Transport-Security\u001b[39;49;00m: max-age=15552000; includeSubDomains; preload\n",
"\u001b[36mX-Content-Type-Options\u001b[39;49;00m: nosniff\n",
"\u001b[36maccess-control-allow-credentials\u001b[39;49;00m: true\n",
"\u001b[36maccess-control-allow-origin\u001b[39;49;00m: donavanaldrich.com\n",
"\u001b[36maccess-control-expose-headers\u001b[39;49;00m: Origin,Authorization\n",
"\u001b[36malt-svc\u001b[39;49;00m: h3=\":443\"; ma=86400, h3-29=\":443\"; ma=86400\n",
"\u001b[36mratelimit-limit\u001b[39;49;00m: 5\n",
"\u001b[36mratelimit-remaining\u001b[39;49;00m: 4\n",
"\u001b[36mratelimit-reset\u001b[39;49;00m: 1\n",
"\u001b[36mvary\u001b[39;49;00m: Origin\n",
"\u001b[36mvia\u001b[39;49;00m: kong/2.8.1\n",
"\u001b[36mwww-authenticate\u001b[39;49;00m: Key realm=\"kong\"\n",
"\u001b[36mx-cache-status\u001b[39;49;00m: Bypass\n",
"\u001b[36mx-kong-proxy-latency\u001b[39;49;00m: 16\n",
"\u001b[36mx-kong-upstream-latency\u001b[39;49;00m: 119\n",
"\u001b[36mx-ratelimit-limit-minute\u001b[39;49;00m: 60\n",
"\u001b[36mx-ratelimit-limit-second\u001b[39;49;00m: 5\n",
"\u001b[36mx-ratelimit-remaining-minute\u001b[39;49;00m: 59\n",
"\u001b[36mx-ratelimit-remaining-second\u001b[39;49;00m: 4\n",
"\n",
"\n",
"\n"
]
}
],
"source": [
"%pip install httpie\n",
"\n",
"!http POST https://kong.donavanaldrich.com/splash url=http://example.com har:=1 html:=1 png:=1 history:=1 console:=1"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.10.4 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.4"
},
"vscode": {
"interpreter": {
"hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}