为什么我对 curl 的响应与我的浏览器不同?

问题描述 投票:0回答:1

嗨,我正在尝试在网站上自动申请房间https://www.watchparty.me/

所以我在 https://www.watchparty.me/createRoom 上提出请求,这是获得新房间的端点。

当我在普通浏览器上使用它时,我得到这样的响应:

而当我尝试对

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0" -L "watchparty.me/createRoom"

做同样的事情时

我明白了

<!doctype html>
<html lang="en">
   <head>
      <meta charset="utf-8"/>
      <link rel="icon" href="/favicon.ico"/>
      <meta name="viewport" content="width=device-width,initial-scale=1"/>
      <meta name="theme-color" content="#000000"/>
      <meta name="description" content="Watch together with friends. Chat and react in real time to the same stream, whether it's YouTube, your own video, or a virtual browser."/>
      <meta property="og:image" content="/screenshot4.png"/>
      <link rel="apple-touch-icon" href="/favicon.png"/>
      <link rel="manifest" href="/manifest.json"/>
      <title>WatchParty</title>
      <script defer="defer" src="/static/js/main.e4f3a69c.js"></script>
      <link href="/static/css/main.9154545e.css" rel="stylesheet">
   </head>
   <body>
      <script>!function(){var a="fbclid";if(-1!==location.search.indexOf("fbclid=")){var e="";try{var c=new URL(location);c.searchParams.delete(a),e=c.href}catch(a){var l=new RegExp("[?&]fbclid=.*$");e=location.search.replace(l,""),e=location.pathname+e+location.hash}history.replaceState(null,"",e)}}()</script>
      <noscript>You need to enable JavaScript to run this app.</noscript>
      <div id="root"></div>
   </body>
   <script async src="https://www.googletagmanager.com/gtag/js?id=UA-45337794-6"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-45337794-6")</script>
</html>

有谁知道为什么我会得到如此不同的响应以及我如何才能获得与浏览器相同的响应?

curl browser request
1个回答
0
投票

在您分享的第一个屏幕截图中,您可以看到“发起者”列,您可以注意到 POST 请求是从 Javascript 发送的。

在第二个屏幕截图中,您有这条消息“您需要启用 JavaScript 才能运行此应用程序。”在 noscript html 标签中(在禁用 javascript 时显示)。

当您使用浏览器执行请求时,会解释 javascript,而当您使用 curl 时,不会涉及 javascript,因此它不会发送您要查找的 API 请求。

© www.soinside.com 2019 - 2024. All rights reserved.