当前位置: 首页 > 知识库问答 >
问题:

如何复制在Chrome检查中看到的post请求?

云骏奇
2023-03-14

我正试图通过程序验证自己的英超梦幻游戏(https://fantasy.premierleague.com/)。当我登录时检查Chrome inspect中的网络选项卡时,我看到以下post请求和响应…

常规:
请求URL:https://users.premierleague.com/accounts/login/
请求方法:发送
状态代码:302
远程地址:151.101.866.217:443
引用策略:no-referrer-when-downgrade

响应标头:
接受-范围:字节
缓存-控制:私有,无缓存,无存储,必须重新验证,max-age=0
内容-长度:0
内容-类型:text/html;Charset=UTF-8
日期:Sun,2019年3月31日17:22:05格林威治时间
位置:https://fantasy.premierleague.com/a/login?state=success
服务器:nginx/1.13.5
set-cookie:csrftoken=cjda9xuq26zixwl0kubk5gvnnvusuqzcy70omzn4tcjapme8pijv7cni413bphs8;到期=太阳,2020年3月29日17:22:05格林尼治时间;最大年龄=31449600;path=/
set-cookie:messages=“FA4474FF71C7BD5422BF64125057FBC6Ed68C6B1$[[\"__JSON_Message\”\\0540\05425\054\“成功登录。\”]\054[\\“__JSON_Message\\\\0540\05425\054\”您已注销。HttpOnly;path=/
set-cookie:sessionid=mruasqjsv9ru8r7qlqk5vauixkt3uq88;过期=太阳,2019年4月14日17:22:05格林尼治时间;HttpOnly;最大年龄=1209600;path=/set-cookie:sudo=“V1MMXFTNG2QS:1HAE9L:KN0N8H3DSWGH-QV2RBGNN5MRWVE”;过期=太阳,2019年3月31日20:22:05格林尼治时间;HttpOnly;最大年龄=10800;path=/;安全
set-cookie:pl_profile=eyjzijogild6sxnnvfk1t1rznu5qvmq6mwhbztlsoll5au4zq3bwb1a0a3l2zdzzus09llunyehjhdyisicj1ijogeyjsbii6icjmaw5kymvyzyisjmyi6idmsicjpzci6ide2otk2oty1lcaizm4ioiaismltin19;premierleage.com;过期=太阳,2019年4月14日17:22:05格林尼治时间;最大年龄=1209600;path=/;安全
状态:302
变化:cookie
通过:1.1谷歌
通过:1.1清漆
x-cache:miss
x-cache-hits:0
x-frame-options:sameorigin
x-serve-by:cache-bma1634-bma

请求头
:权限:users.premierleague.com
:方法:post
:路径:/accounts/login/
:方案:https
接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
接受-编码:gzip,deflate,br
接受-语言:sv-SE,sv;q=0.9,en-美国;q=0.8,en;q=0.7
缓存-控制:max-age=0
内容-长度form-urlencoded
cookie:_ga=ga1.2.963283199.1544268407;_GID=GA1.2.530727258.1554052864;csrftoken=xrerjtdda0drigpicojvxmhhkjjrrmso74wbhozbmkbz5zphatuvjq3stwiivaxf;messages=“956228CD3E90B2B498670E8D2101699BCEC07800$[[\”__JSON_Message\“\\0540\05425\054\”成功登录。\“]\054[\”__JSON_Message\“\\0540\05425\054\”您已注销。\“]]”;_gat=1;_GAT_UA-33785302-1=1
来源:http://evil.com/
引用:https://fantasy.premierleague.com/?失败
升级-不安全-请求:1
用户-代理:Mozilla/5.0(Macintosh;Intel Mac OS X 10_11_6)AppleWebKit/537.36(KHTML,like Gecko)Chrome/72.0.3626.121 Safari/537.36

表单数据:
csrfmiddlewareToken:ofwvfkpskkc0ag1hxhekpcswb1l3wl35
登录:
密码:
app:plfpl-web
redirect_uri:https://fantasy.premierleague.com/a/login


我试图使用Javascript和Axios复制这个post请求。我有以下代码:

authPLfantasy() {
        let formData = new FormData();
        formData.append('password', '<password>');
        formData.append('login', '<username>');
        formData.append('redirect_uri', 'https://fantasy.premierleague.com/a/login');
        formData.append('app', 'plfpl-web');

        let config = {
            url: 'https://users.premierleague.com/accounts/login',
            method: 'post',
            withCredentials: true,
            data: formData
        };

        return axios.request(config);
    }

我在记录时得到的结果此函数的结果是:“从起源'http://users.premierleague.com/accounts/login'访问来自'http://localhost:3000'的XMLHttpRequest已被CORS策略阻止:当请求的凭据模式为'include'时,响应中的'Access-Control-Allow-Origine'标头的值不能是通配符'*'。由XMLHttpRequest发起的请求的凭据模式由withCredentials属性控制。”

我对CORS有点熟悉,所以我想我可以解决它,如果我把我的头撞得足够长和用力,但我听说通过邮递员发送邮件请求不会受到CORS的影响,所以我试着用它来代替,只是看看我是否能让它起作用。当我使用Postman收到一个200 OK的响应时,我没有得到正确的响应,关键是我错过了cookies pl_profile和sessionid。在邮递员中更改了表单数据,以便密码或用户名无效,仍然呈现200确定的响应。

最终目标是使用Javascript,在用户单击React应用程序中的按钮后提交必要的凭据后发送post请求。应该生成必要的cookie,以便应用程序随后可以向不同的auth保护endpoint发送get请求,并从那里检索信息。我觉得这不应该那么难,但我似乎就是不能让它发挥作用。

共有1个答案

罗安宁
2023-03-14

如果你正在使用Chrome,也许最简单的方法就是

  1. 打开Chrome Dev工具
  2. 转到网络选项卡
  3. 选择要复制的请求
  4. 右击并选择“复制>复制为卷曲”
  5. 打开终端,粘贴命令并执行
 类似资料:
  • 我使用POST方法提交表格。表单有一个输入字段:。 我试图检查参数是否存在: 但它不起作用

  • 问题内容: 是否有一种简单的方法来检查两个数据帧是否是不涉及操作的同一基础数据的不同副本或视图?我正在尝试掌握每一个生成的时间,并且鉴于规则看起来有多特殊,我想要一种简单的测试方法。 例如,我认为“ id(df.values)”在各个视图之间都是稳定的,但它们似乎不是: 当然还有:-http : //pandas.pydata.org/pandas-docs/stable/indexing.htm

  • 问题内容: 如何在JavaScript中查看最后的GET http请求?基本上,我所能看到的是我的Firebug控制台。当XMLHttpRequests在控制台中显示时,我看到一行看起来像这样: 如何在JavaScript中查看该URL? 编辑:为了清楚起见,我正在寻找GET …和… 200之间的URL。我什么都不在乎。我不要任何其他信息。 问题答案: 我最终找到了在PHP中使用的变通办法,然后将

  • 问题内容: 我从节点7 开始就熟悉使用该选项。现在在节点8上,它不起作用。今天,我要求节点照常使用检查器: 它回应如下: 如果我尝试打开该链接,Chrome会说: 在此之前,它曾经是一个“ chrome-devtools://”链接,该链接非常出色。 是什么赋予了? 到处搜索,我找不到与此链接有关的任何内容。 问题答案: 有来自nodejs文档的信息 选项1:在基于Chromium的浏览器中打开。

  • 我使用Postman Collection Runner通过迭代多次运行相同的请求。我的测试按预期工作,但是我无法看到每个请求的单独响应。 是否可以在邮递员收藏运行器中查看请求的响应?

  • 问题内容: 这应该很容易。 我有一个脚本,在脚本中我想确定请求是否通过或方法到达。 正确的方法是什么? 我正在考虑使用这样的东西 但是我内心深处并不觉得这是正确的方法。任何的想法? 问题答案: 更好地使用: