首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以编辑传出的HTTP请求

是否可以编辑传出的HTTP请求
EN

Stack Overflow用户
提问于 2020-01-30 14:59:09
回答 2查看 660关注 0票数 1

您是否可以阻止/停止和编辑传出的HTTP请求,然后将其发送出去?

例如,如果我向我的网站发出HTTP GET请求,我是否可以编辑user-agent标头

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36

我已经尝试过在wireshark中这样做,但我还没有成功,因为我不经常使用wireshark。

EN

回答 2

Stack Overflow用户

发布于 2020-02-03 05:54:12

配置浏览器

现代浏览器包括许多工具,这些工具可以帮助您更改下一个请求的必要部分。例如,用户代理可以通过在about:config中创建/调整general.useragent.override在Mozilla中轻松更改,chrome允许在开发工具>网络条件中执行此操作,请在howtogeek上查看更多信息

使用插件

许多浏览器插件都是为web开发人员创建的,包括那些更改请求部分的浏览器插件。前段时间我做了一些更改HTTP referer的实验,有一些用于更改用户代理的插件,所以请随意搜索您需要的插件。

使用curl

curl是一个非常强大的手动构建HTTP请求的工具。您正在寻找curl --user-agent "user-agent-name-here" URL,但您可能还想包括其他选项,如--cookie "NAME=value"等。这种方式不太用户友好,但比前两种方式有更多的可能性。

捕获和重放流量

如果以上所有方法都不够,您可以使用wireshark/tcpdump来捕获客户端-服务器通信,过滤客户端数据包,根据需要对其进行修改(例如在Colasoft Packet Builder中),然后重新发送修改后的流量。这种方式很苛刻,有很多陷阱:

在重新发送之前,需要修复修改后的数据包中的

  • TCP校验和。也许,重新发送工具应该能够,或者尝试使用Linux.
  • impossible中的cookie来处理TLS
  • hard/impossible,以便正确处理nonce或任何基于时间的字段
  • 您将不得不自己解释服务器答案,因为它们无法到达cookie可能会由于多种原因而失败(例如,端口仍被浏览器占用;某些字段在修改的数据包中具有不正确的值,如内容长度;数据包包含过时的数据,如客户端应该有cookie等)

这是一种专家模式,但您发送的内容仅限于您自己的幻想。唯一更专业的模式是编写自己的客户端来发送您想要的数据。

票数 1
EN

Stack Overflow用户

发布于 2021-01-27 10:25:55

如果你使用Proxyman (https://proxyman.io)而不是Wireshark或Fiddler,那就很简单了。

使用允许您更改请求头的脚本工具

下面是定义规则和更改User-Agent的方法

代码:

代码语言:javascript
运行
复制
function onRequest(context, url, request) {

  // Update or Add new headers
  request.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36";

  // Done
  return request;
}

可以复制和粘贴的代码片段:https://docs.proxyman.io/scripting/snippet-code

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59980601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档