asp.net-mvc - 如何使用客户的 IP 地址向另一个网站发出请求?
问题描述
我正在尝试构建一个 Web 应用程序,其中客户端登录并希望将一些数据发送到另一个网站(例如,他想上传一个应用程序将读取的 csv 文件并将读取的数据发送到另一个网站)。
该网站没有我可以使用的官方 API,如果它发出太多请求,它们会阻止 IP 地址。
所以,我的想法是使用用户的 IP 地址以他的名义发送请求,这样网站就不会阻止我的应用程序发出请求。
可以从 asp .net core mvc / asp.net mvc 做到这一点吗?
如果没有,我该怎么做才能使这成为可能?
提前致谢
解决方案
不,这是不可能的。我鼓励您实际阅读 TCP/IP 协议(HTTP 也是,当您使用它时,虽然它与这个问题没有直接关系)。就像在为它编写应用程序之前你需要了解 iOS 之类的东西是如何工作的一样,如果你打算编写 Web 应用程序,你不应该互联网的底层协议是如何工作的。
特别是在这里,所有通过 TCP/IP 进行的通信都是通过 IP 地址进行的。它必须是唯一的,因为客户端/服务器需要能够在那里“寻址”其数据包。基于此,即使您可以冒充用户的 IP 地址,结果也会是服务器将其响应直接发送给用户,而不是您的服务器。
FWIW,有一个“共享”IP地址的概念。例如,除非您有来自您的 ISP 的专用 IP,否则您和它的许多其他客户将看起来好像您都拥有该 IP 地址。IP 地址传统上是有限的。IPv6 几乎是无限的,但大多数东西仍然使用 IPv4,它只公开了大约 4 万亿个地址。这听起来可能很多,直到您意识到每个客户都需要一个唯一的地址。可能只有一个人拥有一台家用电脑、一台工作电脑、一台笔记本电脑、一部智能手机,甚至可能还有第二部商用智能手机。此外,他们可能拥有一系列其他设备,如平板电脑、智能电视、连接的恒温器等。因此,您的 ISP 基本上将您的请求代理到目的地,然后接收响应并将其转发给您。它使用其内部 IP 表将响应路由回请求它的内部 IP。因此,虽然从技术上讲,多个客户端/服务器可以共享相同的外部 IP,但它与您在此处讨论的不同。
推荐阅读
- php - 在 PHP 中将 $_POST 排列为多维数组
- c# - VS2017 探查器报告中的损坏数据
- php - 使用 PHP 连接到 Google 驱动器 API,无需用户交互
- r - 从 R 中的一组因子创建组合 ID 号
- django - 使用 Apache/Gunicorn 部署 Django 静态文件
- java - 使用 Weld SE (CDI) 异步创建 bean 的正确方法是什么?
- reactjs - 访问父组件中的嵌套子组件
- html - 浏览器中的默认焦点大纲是如何实现的?
- objective-c - 将 NSTextFiels 作为方法参数传递?
- rpc - 来自 opendaylight testtool 模拟器设备的 RPC 请求没有响应