API 调用中会话 ID 未刷新

2023-12-10

我正在尝试使用VBA Excel访问网站提供的APIwww.myfxbook.com。 API文档在这里(https://www.myfxbook.com/fr/api)。获取数据的步骤如下:

  1. 通过登录API登录
  2. 从登录 API 的响应中获取会话的会话 ID
  3. 通过各种其他 API 根据此 Session ID 获取数据
  4. 通过 Logout API 注销以生成新会话

我面临的问题是,即使正在使用登录和注销 API 并且没有抛出任何错误,但当我尝试通过 Excel VBA 使用它时,我总是得到相同的会话 ID。另一方面,通过 Python 甚至浏览器使用相同的 URL 每次都会给我不同的会话 ID。我只能使用 Excel 来完成这个项目。有人可以帮我如何在成功注销时获取不同的会话 ID 吗?

我正在使用下面的代码来执行此操作。出于安全目的,我隐藏了 (********) 电子邮件 ID 和密码。

Sub extract()

Dim sht1 As Worksheet
Dim email As String
Dim password As String
Dim accountName As String
Dim url As String
Dim hreq As Object
Set hreq = CreateObject("MSXML2.XMLHTTP")
Dim accountID As String

Set sht1 = Sheets(1)
email = "*******"
password = "********"
accountName = "all day multiple currency coinexx"
loginURL = "https://www.myfxbook.com/api/login.xml?email=" + email + "&password=" + password
hreq.Open "GET", loginURL, False
hreq.Send
Dim xmlDoc As New MSXML2.DOMDocument60
Dim response As String
response = hreq.ResponseText
If Not xmlDoc.LoadXML(response) Then
    MsgBox ("Load Error")
End If

Dim xnodelist As MSXML2.IXMLDOMNodeList
Set xnodelist = xmlDoc.getElementsByTagName("session")
Dim sessionID As String
sessionID = xnodelist(0).Text

'Do Something here to get data. This part is working fine.

logoutURL = "https://www.myfxbook.com/api/logout.xml?session=" + sessionID
hreq.Open "GET", logoutURL, False
hreq.Send
response = hreq.ResponseText
If Not xmlDoc.LoadXML(response) Then
    MsgBox ("Load Error")
End If

End Sub

我认为您可能正在使用缓存。尝试使用附加标头来强制避免这种情况

hreq.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

API 调用中会话 ID 未刷新 的相关文章

随机推荐

  • 如何在VM之外访问安装在Azure VM(VM角色)上的sql服务器?

    我正在处理 Windows Azure VM 角色 我在 Azure VM 上安装了 sql 服务器 现在我想从外部连接到该 sql 服务器 这可能吗 请参考此链接配置您的VM角色 您需要的一部分是打开一个防火墙端口 允许与您的虚拟机角色进
  • 如何以编程方式从draw.io PNG中提取XML数据

    长话短说 我希望能够在浏览器中使用 PHP 或 JavaScript 从 Draw io 保存的 PNG 中提取 XML 数据 我使用带有图层的draw io 图像来记录网络设备之间的物理连接 文档站点是一个内部站点 运行dokuwiki例
  • NSURLSession 取消任务

    我使用以下配置创建新的 NSURLSession if self session NSURLSessionConfiguration config NSURLSessionConfiguration backgroundSessionCon
  • 如何确保 Athena 结果 S3 对象具有存储桶所有者完全控制

    我们 账户 A 希望以编程方式在不同的 aws 账户 账户 B 中触发 athena 查询 startQueryExecution 我们使用假定的角色来实现它 athena 查询完成后 我们期望结果应写入我们的 aws 账户 s3 存储桶
  • 当链接不包含 http 时 android.content.ActivityNotFoundException

    我的应用程序允许用户使用有限的 HTML 向其他用户输入消息 我允许的事情之一是使用超链接 Example a href www google com Google a 我正在填充TextView通过以下方法 txtview setMove
  • Mac OSX 上的 XAMPP:为什么作为“守护进程”运行? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有点困惑 我在 Mac OSX Macbook 上的 XAMPP 中运行 Apache 服务器 我写了一个文件上传脚本并且运行良好 但上传的文件的所有者为 daemon 如何将我或
  • 将可变大小表单转换为 javascript 和 PHP (AJAX)

    背景 我有一个包含一堆按钮的网页 想想 POS 系统 我希望用户能够编辑按钮的名称 用于将它们按特定顺序排列 和按钮的文本 其中包含项目和成本两部分 目前 我通过将数据从 PHP 页面 完成编辑的地方 传递到另一个 PHP 页面 我将其写回
  • C 和它的抽象机之间的精确关系是什么?

    我正在读 C in a nutshell 里面有很多类似的句子 语句指定要执行的一个或多个操作 例如 为变量赋值 将控制权传递给函数 或者 跳到另一个声明 我的问题是 执行 这些动作的东西是什么 我到处读到过 C 被定义为在抽象机器上运行
  • ASP、MySQL 和 UTF-8

    首先 我几乎阅读了所有与此相关的主题 我已经尝试了所有建议 但无法解决这个问题 事情是这样的 我在一个项目中使用经典 ASP 和 MySQL 一切都很好 如果我写 一个例子 Response Write 它就像一个魅力 但是 如果该字符串来
  • MySQL SELECT 计数器、分组依据

    我不确定我所要求的是否可能 但它可能是哈哈 基本上 我有两张桌子 曲目和专辑 我想显示所有曲目的列表并从专辑部分获取名称 这些表看起来像这样 tbl tracks id int auto increment primary key albu
  • 如何获取黑莓当前位置的纬度和经度?

    我正在开发一个具有 GPS 功能的应用程序 如何获取当前位置的纬度和经度 我自己找到了解决方案 以下代码对我来说效果很好 package mypackage import javax microedition location Locati
  • Angularjs 格式日期

    Angular 中是否有任何指令 我想在用户在日期输入中写入 2 3 67 时启用用户 日期需要格式化为 02 03 1967 我自己尝试了一些东西 但它们不起作用 当显示用户输入时 只需添加 Angularjs 格式即可 yourdate
  • AngularJS指令输入宽度通过keyup调整大小

    我创建了一个指令 以便在键入时自动调整宽度的输入 如 Google 联系人 但似乎不行 因为每个字符的宽度不同 您能帮我提供一个更优化的方法吗 谢了 http plnkr co edit DSn0JDDShOXvuXXF9PP2 p pre
  • 除非提供“--jsx”标志,否则无法使用 JSX

    我四处寻找这个问题的解决方案 他们都建议添加 jsx react 到您的 tsconfig json 文件 我已经做到了 另一种是添加 include 我也做过 但是 当我尝试编辑时仍然收到错误 tsx文件 下面是我的 tsconfig 文
  • Chrome 扩展:(DOM)调试器 API 不再工作

    自版本 37 0 2062 103 以来 我们的 Chrome 扩展程序不再正常工作 它曾经在 chrome 版本 36 0 1985 143 上正常工作 具体来说 当我们使用 DOMDebugger 时 调试器 API 已停止为我们工作
  • Apple Wallet:Push Token 对于每个设备来说都是唯一的吗?

    我已经实现了一个可以为苹果钱包创建通行证的实现 一旦设备向服务器注册 就会推送该设备唯一的令牌 还是将来最终会改变 若有 原因为何 是的 为了保护隐私 推送令牌会定期轮换 这可能会随机发生 或者随着硬件的变化 用户转移到新手机 或者经常随着
  • 开发人员可以使用哪些选项来使用专用标签打印机进行打印?

    我们的业务使用定制的内部软件来创建要在大型高速标签打印机上打印的运输标签 开发人员可以使用哪些选项 库 服务 成熟软件等 来协助创建自定义格式标签并将其发送到专用标签打印机的过程 更多背景信息 Instead of using softwa
  • 使用 LayoutKind.Explicit 进行布尔编组,这是否已损坏或按设计失败?

    首先 布尔类型据说有一个四字节值的默认编组类型 所以下面的代码有效 struct A public bool bValue1 public int iValue2 struct B public int iValue1 public boo
  • Windows Phone 8 弹出窗口的宽度和高度

    我将网格放置在弹出控件中 我希望网格能够根据 Windows Phone 8 应用程序的 3 种不同布局大小自动调整大小 480 800 768 1280 720 1280 但似乎我必须设置宽度和高度脱离电网明确地因为它根据子控件大小重新调
  • API 调用中会话 ID 未刷新

    我正在尝试使用VBA Excel访问网站提供的APIwww myfxbook com API文档在这里 https www myfxbook com fr api 获取数据的步骤如下 通过登录API登录 从登录 API 的响应中获取会话的会