gpt4 book ai didi

google-chrome - HTTP POST 负载在 Chrome 调试器中不可见?

转载 作者:行者123 更新时间:2023-12-03 05:33:26 25 4
gpt4 key购买 nike

我已查看thisthat 。但是,我的调试器如下所示。

失败示例

No form data, No raw content .

没有表单数据,没有原始内容

原始示例(*虽然路径与屏幕截图不同,但两者都无法读取发布数据)

POST https://192.168.0.7/cgi-bin/icul/;stok=554652ca111799826a1fbdafba9d3ac1/remote_command HTTP/1.1
Host: 192.168.0.7
Connection: keep-alive
Content-Length: 419
accept: application/json, text/javascript, */*; q=0.01
Origin: https://192.168.0.7
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
content-type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://192.168.0.7/cgi-bin/icul/;stok=554652ca111799826a1fbdafba9d3ac1/smartmomentl/access-point/network
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8,zh-TW;q=0.6,zh;q=0.4
Cookie: sysauth=f15eff5e9ebb8f152e163f8bc00505c6

command=import&args=%7B%22--json%22%3Atrue%2C%22--force%22%3Atrue%2C%22--mocks%22%3A%22%7B%5C%22DEL%5C%22%3A%7B%7D%2C%5C%22SET%5C%22%3A%7B%5C%22dhcp%5C%22%3A%7B%5C%22lan%5C%22%3A%7B%5C%22.section%5C%22%3A%5C%22dhcp%5C%22%2C%5C%22interface%5C%22%3A%5C%22lan%5C%22%2C%5C%22ignore%5C%22%3A%5C%220%5C%22%2C%5C%22leasetime%5C%22%3A%5C%2212h%5C%22%2C%5C%22range%5C%22%3A%5C%22172.16.0.100-172.16.0.200%5C%22%7D%7D%7D%7D%22%7D

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Status: 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Expires: 0
Transfer-Encoding: chunked
Date: Thu, 01 Jan 1970 00:09:27 GMT
Server: lighttpd/1.4.30

31
{ "ctx": "No such command", "exitStatus": false }
0

注:(6)

成功示例

Some of them are able to work

我发现它们之间的差异(通过区分标题内容)

原始示例(*虽然路径与屏幕截图不同,但两者都无法读取发布数据)

POST https://192.168.0.7/cgi-bin/icul/;stok=92dea2b939b9fceb44ac84ac859de7f4/;stok=92dea2b939b9fceb44ac84ac859de7f4/remote_command HTTP/1.1
Host: 192.168.0.7
Connection: keep-alive
Content-Length: 53
Accept: application/json, text/javascript, */*; q=0.01
Origin: https://192.168.0.7
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: https://192.168.0.7/cgi-bin/icul/;stok=92dea2b939b9fceb44ac84ac859de7f4/remote_command/command_reboot
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8,zh-TW;q=0.6,zh;q=0.4
Cookie: sysauth=683308794904e0bedaaead33acb15c7e

command=command_reboot&args=%7B%22--json%22%3Atrue%7D

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Status: 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
Expires: 0
Transfer-Encoding: chunked
Date: Thu, 01 Jan 1970 00:02:46 GMT
Server: lighttpd/1.4.30

34
{ "ctx": "\u0022success\u0022", "exitStatus": true }
0

注:(6)

两个示例之间的 header 差异

  • 成功者正在使用 Jquery binding而失败一使用 HTTPS from nodejs + 浏览器化。但是,我仍在寻找一种方法来检查这是否是一个问题(未测试)

  • 缺少 X-Requested-With: XMLHttpRequest。但是,将此 header 添加回请求并不能解决此问题(已测试)

  • 大写字母标题与小写字母标题字段(

    • 内容类型内容类型。然而,这种差异并不是我的问题的根本原因,如 fiddle here 中所尝试的那样。 (已测试)

    • 接受接受(未经测试)

注:(5) (7)

不过,我不确定为什么 content-type 中的第一个 c 是小写字母。

注:(1)

我尝试过的

我已经用 firebug 尝试过 Firefox。它能够显示我的有效负载。但是,它无法解析来自服务器的响应:'(

由于Web服务器运行在HTTPS协议(protocol)下,我无法通过wireshark捕获数据包。对于调试 POST 请求有什么建议吗?谢谢。

链接到 gist关于通过命令行调试 HTTP(s) 请求。注:(3)

我正在使用的包装器

我有包裹this method from nodejs带着 promise 的召唤。下面是一个片段,显示了我使用过的一个选项。

/**
* Wraps HTTPS module from nodejs with Promise
* @module common/http_request
*/

var createRequestSetting = function (host, path, data, cookies) {
return {
method: 'POST',
port:443,
host: host,
path: path,
headers: {
Accept: 'application/json, text/javascript, */*; q=0.01',
'Content-Type':
'application/x-www-form-urlencoded; charset=UTF-8',
'Content-Length': Buffer.byteLength(data),
'Cookie': cookies,
},
rejectUnauthorized: false,
};
};

Full source here

注:(2)

更新

  • (1) 我已验证字母 c 不会影响 Chrome 调试器。这是the fiddle 。我尝试使用带有字母 cXMLHttpRequest 来模拟相同的请求。我仍然可以在调试器中检查表单数据。
  • (2) 完整源代码链接
  • (3) 链接到 gist from me关于测试 HTTP(s) 请求的脚本
  • (4) 重新格式化问题以提高可读性
  • (5) 代码审查后示例未使用相同的绑定(bind)
  • (6) 添加原始 header 示例
  • (7)添加比较 session

最佳答案

所有平台上的 Chrome v61 和 v62 中都存在一个回归错误,当响应(除其他外)为 302 时,会导致此行为。此问题已在 2017 年 12 月 6 日发布到所有桌面平台的 v63 稳定版中修复。

自动更新是分阶段进行的,但转到“帮助”/“关于 Google Chrome”将强制它下载更新并为您提供重新启动按钮。有时需要终止所有 Chrome 进程并手动重新启动才能获取更新。

(现已关闭)错误报告为 here 。发布公告为here .

显然,这不是 2015 年原始发帖者问题的原因,但搜索该问题让我来到了这里。另请注意,这不仅仅是 OS X 问题。

关于google-chrome - HTTP POST 负载在 Chrome 调试器中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com