gpt4 book ai didi

ruby - 设置代理记录 Firefox 请求

转载 作者:行者123 更新时间:2023-12-04 19:23:57 26 4
gpt4 key购买 nike

我正在使用 Ruby+Watir 通过 Firefox 请求页面。

我想记录通过浏览器发出的每个 http 请求的 header 和内容。

是否可以配置代理解决方案来存储此信息,无论是在文件中还是直接通过管道传输到应用程序中?我可以使用诸如 squid 或 nginx 之类的东西来记录标题/内容信息吗?

PS:运行 Ubuntu x64。

最佳答案

如果你不想要代理,你可以使用 tcpdump 例如
tcpdump -i en0 -n -s 0 -w output.pcap

然后,您可以回顾性地查看wireshark等中的所有流量。

BrowserMob 代理可能非常适合您(作为 jar 文件运行)

您也可以在 Ruby 中创建自己的(但仅适用于 HTTP,不适用于 HTTPS)
例如

  require 'rubygems'
require 'webrick/httpproxy'

@proxy_port = ARGV[0] || 9090

# Optional flags
@print_headers = false
@print_body = true

server = WEBrick::HTTPProxyServer.new(
:Port => @proxy_port,
:AccessLog => [],
:ProxyContentHandler => Proc.new do |req,res|
puts "-"*75
puts ">>> #{req.request_line.chomp}\n"
req.header.keys.each { |key| puts "#{key.capitalize}: #{req.header[key]}" if @print_headers }
puts "<<<" if @print_headers
puts res.status_line if @print_headers
res.header.keys.each { |key| puts "#{key.capitalize}: #{res.header[key]}" if @print_headers }
puts res.body unless res.body.nil? or !@print_body
end
)
trap("INT") { server.shutdown }
server.start

关于ruby - 设置代理记录 Firefox 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2205947/

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