【问题标题】:Identifying parameters in HTTP request识别 HTTP 请求中的参数
【发布时间】:2019-01-22 14:41:09
【问题描述】:

我相当精通 Python,并且已经开始探索 requests 库来制定简单的 HTTP 请求。我还查看了允许我登录网站并 - 使用会话密钥 - 通过我的帐户继续与网站交互的 Sessions 对象。

我的问题来了:我正在尝试用 Python 构建一个简单的 API 来执行我可以通过网站执行的某些操作。但是,我不知道某些 HTTP 请求需要是什么样子才能通过请求库实现它们。

一般来说,当我知道如何通过网站执行任务时,我如何识别:

  • HTTP 请求的类型(在我的情况下 GET 或 POST 就足够了)
  • URL,即资源在服务器上的位置
  • 我需要为请求成功指定的正文参数

【问题讨论】:

  • 您是在构建将从您自己已构建/将要构建的服务器请求资源的 url,还是在构建 url 以与其他人的服务器交互?
  • 后者,我确实是在尝试与外部服务器交互
  • 服务器是否已记录在案,或者您是否试图对其进行破解/逆向工程?如果是前者,您只需要阅读文档以了解何时使用 GET 或 POST 请求,以及 POST 请求的主体应该是什么样子。如果是后者,您将遇到更困难的时间,但要花一些时间研究您可以访问的路由结构,并在浏览器的开发人员工具中使用console.log(window) 来查找全局变量提示...
  • 如果您发送服务器地址并告诉我们您具体要做什么,会更容易提供帮助。

标签: python api http python-requests


【解决方案1】:

这与python无关,但您可以使用网络代理来检查您的请求。

  1. 下载像 Burpsuite 这样的网络代理
  2. 设置您的浏览器以通过 Burpsuite 路由所有流量(默认为 localhost:8080)
  3. 停用数据包拦截(在“代理”选项卡中)
  4. 正常浏览到您的目标网站
  5. 检查 Burpsuite 中的请求历史记录。您将找到所需的所有信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    相关资源
    最近更新 更多