客户端正在尝试从第三方网站检索信息。他可以登录网站,并(使用适当的API密钥)可以手动访问他想要的信息。
他编写了一个脚本,将需要发送到网站的字符串(包括API密钥和各种搜索参数)拼凑在一起。
他可以将字符串复制/粘贴到浏览器中,并按预期返回数据。
但是当他做类似的事情时:
request = New HTTP Request( Url( strg ), Method( "GET" ) );
data = request << Send;
(其中“ strg”是包含请求描述的字符串),“ data”返回一条消息,表明他无权发出请求,就好像他没有登录该站点一样。
那么...有人知道这是否是网站的身份验证问题吗?还是浏览器设置阻止了JSL的访问?(仅供参考,我们同时尝试了Edge和Chrome。)
谢谢!
此建议假定您需要分别登录Chrome和Edge。
将JMP视为第三个浏览器。 该网站看到一个客户端登录(Chrome),然后可以与Chrome很好地配合使用。该网站看到了第二个客户端登录(Edge),然后可以与Edge很好地配合使用。但是该网站从未看到过第三个客户端登录(JMP)。
因此,我相信您将需要一个登录的HTTP请求,该请求位于请求数据的请求之前。
我遇到过这样的情况:密钥不作为 URL 的一部分显示,而是通过单独的参数显示。 我想到的是 NOAA 的 Web 服务 API 。如果您查看示例,似乎唯一指定的是基本 URL 和端点。没有密钥的位置。