Comments (2)
We have discovered (again) that pseudo-headers should be skipped when converting HAR files. https://tools.ietf.org/html/rfc7540
All headers that start with :
should not appear in the output script. Sample HAR attached.
{
"log": {
"version": "1.2",
"creator": {
"name": "WebInspector",
"version": "537.36"
},
"pages": [
{
"startedDateTime": "2020-02-07T17:24:34.196Z",
"id": "page_2",
"title": "https://qa.teklager.se/en/products/router-components/pc-engines-apu-enclosure",
"pageTimings": {
"onContentLoad": 883.0719999969006,
"onLoad": 1526.7620000522584
}
}
],
"entries": [
{
"startedDateTime": "2020-02-07T17:24:34.608Z",
"time": 52.83600010443479,
"request": {
"method": "GET",
"url": "https://fonts.googleapis.com/css?family=Montserrat:400,700",
"httpVersion": "http/2.0+quic/46",
"headers": [
{
"name": ":method",
"value": "GET"
},
{
"name": ":authority",
"value": "fonts.googleapis.com"
},
{
"name": ":scheme",
"value": "https"
},
{
"name": ":path",
"value": "/css?family=Montserrat:400,700"
},
{
"name": "pragma",
"value": "no-cache"
},
{
"name": "cache-control",
"value": "no-cache"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
},
{
"name": "dnt",
"value": "1"
},
{
"name": "accept",
"value": "text/css,*/*;q=0.1"
},
{
"name": "sec-fetch-site",
"value": "cross-site"
},
{
"name": "sec-fetch-mode",
"value": "no-cors"
},
{
"name": "referer",
"value": "https://qa.teklager.se/en/products/router-components/pc-engines-apu-enclosure"
},
{
"name": "accept-encoding",
"value": "gzip, deflate, br"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9,sv-SE;q=0.8,sv;q=0.7,pl-PL;q=0.6,pl;q=0.5"
}
],
"queryString": [
{
"name": "family",
"value": "Montserrat:400,700"
}
],
"cookies": [],
"headersSize": -1,
"bodySize": 0
},
"response": {
"status": 200,
"statusText": "",
"httpVersion": "http/2.0+quic/46",
"headers": [
{
"name": "status",
"value": "200"
},
{
"name": "content-type",
"value": "text/css; charset=utf-8"
},
{
"name": "access-control-allow-origin",
"value": "*"
},
{
"name": "timing-allow-origin",
"value": "*"
},
{
"name": "link",
"value": "<https://fonts.gstatic.com>; rel=preconnect; crossorigin"
},
{
"name": "strict-transport-security",
"value": "max-age=31536000"
},
{
"name": "expires",
"value": "Fri, 07 Feb 2020 17:23:48 GMT"
},
{
"name": "date",
"value": "Fri, 07 Feb 2020 17:23:48 GMT"
},
{
"name": "cache-control",
"value": "private, max-age=86400, stale-while-revalidate=604800"
},
{
"name": "last-modified",
"value": "Fri, 07 Feb 2020 17:23:48 GMT"
},
{
"name": "content-encoding",
"value": "br"
},
{
"name": "server",
"value": "ESF"
},
{
"name": "x-xss-protection",
"value": "0"
},
{
"name": "x-frame-options",
"value": "SAMEORIGIN"
},
{
"name": "alt-svc",
"value": "quic=\":443\"; ma=2592000; v=\"46,43\",h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000"
}
],
"cookies": [],
"content": {
"size": 3778,
"mimeType": "text/css",
"text": "/* cyrillic-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 400;\n src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 400;\n src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 400;\n src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 400;\n src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 400;\n src: local('Montserrat Regular'), local('Montserrat-Regular'), url(https://fonts.gstatic.com/s/montserrat/v14/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 700;\n src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gTD_u50.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 700;\n src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3g3D_u50.woff2) format('woff2');\n unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 700;\n src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gbD_u50.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 700;\n src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gfD_u50.woff2) format('woff2');\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Montserrat';\n font-style: normal;\n font-weight: 700;\n src: local('Montserrat Bold'), local('Montserrat-Bold'), url(https://fonts.gstatic.com/s/montserrat/v14/JTURjIg1_i6t8kCHKm45_dJE3gnD_g.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n"
},
"redirectURL": "",
"headersSize": -1,
"bodySize": -1,
"_transferSize": 919
},
"cache": {},
"timings": {
"blocked": 21.982000092975795,
"dns": 0,
"ssl": -1,
"connect": 0,
"send": 0.646,
"wait": 27.486000006735324,
"receive": 2.722000004723668,
"_blocked_queueing": 21.982000092975795
},
"serverIPAddress": "216.58.207.234",
"_initiator": {
"type": "parser",
"url": "https://qa.teklager.se/en/products/router-components/pc-engines-apu-enclosure",
"lineNumber": 55
},
"_priority": "VeryHigh",
"_resourceType": "stylesheet",
"pageref": "page_2"
}
]
}
}
from har-to-k6.
In addition, content-length
and cookies
should be ignored for consistency with the k6 convert
command. https://github.com/loadimpact/k6/blob/master/converter/har/converter.go#L393
from har-to-k6.
Related Issues (20)
- Duplicated query param when a "+" character is present
- Cannot read properties of undefined (reading 'includes')
- Error with built standalone.js HOT 1
- PostData results with HTTP Status 415 – Unsupported Media Type HOT 1
- Getting error Invalid query item name <0:0> must be string while converting har to k6 script.
- How to retrieve the return of the setup function
- Feature Request: Replace custom parameters using regex while creating the k6 script.
- Docker har-to-k6 not working (ENOENT: no such file or directory) HOT 1
- Support for per-request tags HOT 1
- Handle websockets properly HOT 3
- Post data conflict: params and text must be equal if both are provided HOT 1
- --enable-status-code-checks HOT 1
- POST crashes server with "unknown transfer-encoding" HOT 3
- mangled URL's HOT 4
- ReferenceError: URI is not defined HOT 1
- har generated from chrome produces: "[WARN] Post data conflict (1): Both params and text are provided but the values do not match." HOT 3
- har generated from chrome produces: "Missing request method (24)" HOT 4
- Improved percent/URL-encoding
- Missing post data MIME type (0) Error when converting fiddle archive HOT 2
- Thrown error does not provide data where the validation error has happened HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from har-to-k6.