HTTP GET请求在正常会话中工作,但不在'隐身'会话
HTTP GET request working on normal session but not in 'incognito' session
理解这个问题发生的原因有些困难,特别是在Steam环境中。
当我进入这个URL并登录到Steam时,请求通过得很好,我得到了我期待的返回。但是,当我在隐身会话中尝试请求时,我得到一组空结果。我已经查看了Steam本身用于发送此请求的代码(ctrl-f '//Load',它应该带你到相关代码)。在此请求中似乎没有传递任何识别信息,即使在隐身模式下,Steam仍然会加载该物品的价格历史图表。我不明白为什么请求不能在用户没有登录Steam的会话中工作,即使页面本身仍然会使用相同的请求显示价格历史。
由于这种情况发生在Valve的服务器上,所以这只是一种有根据的猜测。
当您未登录访问此URL时,服务器将返回一个400 Bad Request
这似乎是由于缺乏steamLogin
cookie。当您在未登录的情况下访问URL时,这些cookie将被设置为
timezoneOffset
Steam_Language
community_game_list_scroll_size
recentlyVisitedAppHubs
sessionid
steamCC_<IP_OF_COMPUTER>
登录成功后,steamLogin
cookie也存在。
看来你需要这个cookie来获取你想要的信息。
不能评论(代表太低),但供参考,项目详细信息页面的工作,因为图形的数据是在一个括号内传递的html文件。您可以设置一个DOM环境,加载html并将其删除,而无需登录。
正如其他海报提到的,你想要使用的api调用需要steamLogin cookie才能工作。
相关文章:
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 验证会话中是否存在对象's数组
- 通过javascript从会话中提取用户名
- 将会话变量从一个页面传递到另一个页面
- 如何保持会话的活力
- Codeigniter会话概念简要说明
- Php未获取会话的最新值
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- PHP会话页面刷新不起作用
- 有可能通过sessionID获得快速会话吗
- 让会话值可用于JavaScript的好方法是什么
- DreamFactory REST API POST休息/用户/会话请求总是在IE9中返回错误
- '会话'未定义-会话存储的Este JS/Express/Redis
- 如何使用 php 会话变量作为 Angular Js 数据
- jquery中设置的会话无法进入php
- 通过Javascript更改PHP会话变量
- 正在Javascript响应中设置会话变量
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- HTTP GET请求在正常会话中工作,但不在'隐身'会话