你好,亲爱的 SO 社区。
我有一个问题折磨了我好几个月没有解决办法。
我试图在使用一些以冒号开头的标头的 HTTP/2 端点发出请求。例子:
:method: "POST"
Run Code Online (Sandbox Code Playgroud)
我尝试过 python(hyper, requests), php(guzzle) 和 js(fetch)。据推测,我已经使用 js 实现了所需的结果,但是 CORS 策略返回了一个“不透明”的结果。
任何帮助都会很棒!
JS 结果大概是正确的“不透明”
fetch("https://www.example.com/users/sign_in",
{
"credentials":"include",
"headers":{
"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"accept-language":"en-US,en;q=0.9,el;q=0.8",
"cache-control":"max-age=0",
"content-type":"application/x-www-form-urlencoded",
"accept-encoding": "gzip, deflate, br",
"content-length": 614,
"origin": "https://www.example.com",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36",
},
"referrer":"https://www.example.com/users/sign_in",
"referrerPolicy":"no-referrer-when-downgrade",
"redirect": "follow",
"body":"..."
"method":"POST",
"mode":"no-cors",
":authority": "www.example.com",
":method": "POST",
":path": "/users/sign_in",
":scheme": "https"
})
Run Code Online (Sandbox Code Playgroud)
Python 结果 500 或 404
context = tls.init_context() …Run Code Online (Sandbox Code Playgroud)