设置标头并使用 $http POST 发送数据到 pocket api 返回 CORS

2024-01-26

无法向 pocket api 发送 http post 请求以获取请求令牌。我已经拿到消费者密钥了。问题似乎出在设置标头和发送请求中的数据。在浏览器中查看请求时,不会显示任何标头和数据。

配置请求

var req = {
        method:'POST',
        url:'https://getpocket.com/v3/oauth/request',
        headers: { 'Content-Type': "application/x-www-form-urlencoded; charset=UTF8",
                    'X-Accept':'application/x-www-form-urlencoded'
         },
         transformRequest: function(obj) {
            var str = [];
            for(var p in obj)
            str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
            return str.join("&");
        },
        data: pocket_data
    };

    $http(req).then(function(result){console.log(result); 
    },function(error){
        console.log(error);
    });

来自浏览器的请求。我不明白为什么请求方法是 OPTIONS 而不是 POST。

Request URL:https://getpocket.com/v3/oauth/request
Request Method:OPTIONS
Status Code:400 Bad Request
Remote Address:52.0.87.91:443

发送的响应标头和请求标头。当我将其设置为 application/x-www-form-urlencoded 时,我不明白为什么内容类型是 text/html 。

 **Response Headers**
view source
Cache-Control:private
Connection:keep-alive
Content-Length:15
Content-Type:text/html; charset=UTF-8
Date:Thu, 04 Feb 2016 07:22:35 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
P3P:policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE"
Pragma:no-cache
Server:Apache
Set-Cookie:PHPSESSID=ogqn0s0gmjpo24j6oo6rlj6vm6; path=/
Status:400 Bad Request
X-Error:Missing consumer key.
X-Error-Code:138
X-Source:Pocket
**Request Headers**
Accept:*/*
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:accept, content-type, x-accept
Access-Control-Request-Method:POST
Cache-Control:no-cache
Connection:keep-alive
Host:getpocket.com
Origin:http://localhost:9000
Pragma:no-cache
Referer:http://localhost:9000/create

我什至尝试将 content-type 设置为 'application/json' ,但没有成功。pocket 的 api 文档。 https://getpocket.com/developer/docs/authentication


我也有同样的问题。看起来 Pocket API 没有启用 CORS,因为响应没有返回 CORS 标头(例如 Access-Control-Allow-Origin:*)

有点令人惊讶 - 我猜这个 API 主要是为应用程序开发人员构建的,而不是 Web 开发人员?这也解释了为什么它与像curl这样的命令行工具配合得很好,因为它们没有浏览器那样的跨域安全限制。

这对您来说意味着您必须编写一个与您的应用程序位于同一域的服务器端组件,充当这些请求的代理。

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

设置标头并使用 $http POST 发送数据到 pocket api 返回 CORS 的相关文章

随机推荐

  • 确定哪些测试覆盖一行代码

    有没有办法确定可能执行给定代码行的单元测试集 换句话说 你能否自动确定不只是whether给定的行已被覆盖 但覆盖它的实际测试集是什么 考虑一个包含 50K 单元测试的大型代码库 显然 运行所有这些可能需要很长时间 即使不是几天 也可能是几
  • 应用程序配置(Spring?)

    我厌倦了所有这些无聊的样板代码来解析应用程序配置 如数据库连接 工作目录 API 端点等等 Spring IoC 看起来不错 但这将迫使我的应用程序的用户修改 XML 文件 只是为了编辑数据库 URL 等 这也可能非常分布在 XML 文件中
  • Koa 发送响应后运行代码

    为了优化响应延迟 需要执行以下工作after响应已发送回客户端 但是 我似乎可以在发送响应后运行代码的唯一方法是使用setTimeout 有没有更好的办法 也许在发送响应后在某个地方插入代码 或者在某个地方异步运行代码 这是一些代码 koa
  • 实体框架 4:继承和关联

    我确实从提供跟踪的基类派生出我的实体 Since User源自于TrackableBase and TrackableBase与 关联User 我收到错误 无法确定相关操作的有效顺序 由于外键约束 模型 可能存在依赖关系 要求或存储生成的值
  • OData分页与skip和top - 如何知道没有更多数据?

    我有 OData 源 它实现了 skip and top参数 返回的实体数量为 x 假设我只有 250 个实体 然后我尝试像这样进行分页 https example com EntitySet top 30 skip 220 如果我的跳过超
  • 使用 jaxb 验证复杂对象中的嵌套对象

    我有一个像这样的对象的 xml 表示 OrderList has list of 订单 每个订单都有一个商品列表 我想验证我的商品 如果无效 我想将它们从订单中删除 如果所有商品都无效 那么我会从订单列表中删除该订单 我已经能够验证订单列表
  • 将包含 JSON 对象数组的 Spark 数据帧列转换为多行

    我有一个流式 JSON 数据 其结构可以用下面的案例类来描述 case class Hello A String B Array Map String String 相同的示例数据如下 A B ABC C 1 D 1 C 2 D 4 XYZ
  • Spritekit - 不从 SKTextureAtlas 加载 @3x 图像

    由于我的示例项目被删除 我认为这会更容易测试 我将发布一些代码和图像来说明我的观点 这是示例图像 我的图集设置 我的启动图像设置 我将这些精灵添加到场景中的代码 override func didMoveToView view SKView
  • 如何在 Blazor Hybrid 中的 muddatagrid 列中增加模型的值

    如何增加 muddatagrid 列中模型的值 如果我按 olus 图标 它将增加所有数量 建议我一种可以与 onclick eventcallback 一起使用的方法 我还需要将其增加 0 5
  • 如何模拟 URLSession.DataTaskPublisher

    我该如何嘲笑URLSession DataTaskPublisher 我有课Proxy需要注入一个URLSessionProtocol protocol URLSessionProtocol func loadData from url U
  • 如何将密码从文件传递到mysql命令?

    我有一个 shell 脚本 它使用外部文件中的一个参数调用 mysql 命令 它看起来像这样 我也在其他资源中看到了这个示例 mysql user root password cat root mysql 有点不工作 无法连接到 MySQL
  • Android 操作栏(如 Twitter 示例)

    实现 Twitter 示例 UI 模式等操作栏的最佳方法是什么 Android 版 Twitter 深入了解 Android 不断演变的 UI 模式 模式4 操作栏http android developers blogspot com 2
  • 在 Powershell 中写入十六进制转义字符

    有没有办法在Powershell中写这样的东西 Linux 将与 Perl 一起使用 char foo x41 我需要在我的一个程序中输入一些不可打印的字符 你可以这样做将 int 转换为 char 带十进制数 foo 65 as char
  • HttpClient GetAsync 方法 403 错误

    我正在尝试简单地显示 github 存储库 网址 https api github com search repositories q pluralsight https api github com search repositories
  • 使用cmd命令打开pwsh而不退出

    我正在尝试启动一个 Powershell 窗口 使用以下命令启动 ssh 会话 pwsh exe noexit Command ssh
  • 如何在 LINQ 中对单个联接中的多个字段进行左联接

    我正在尝试对 LINQ 执行这个简单的 sql 查询 但它给了我错误 这是需要转换为 LINQ 的 SQL 查询 DECLARE groupID int SET groupID 2 SELECT FROM dbo Person p LEFT
  • C++ 中两个向量的逐元素乘法

    我试图用两个向量进行以下数学运算 v1 a1 a2 a3 a4 a5 v2 b1 b2 b3 b4 b5 想要计算 v a2 b2 a3 b3 a4 b4 a5 b5 请注意 我不想要新向量中的第一个元素 我想知道是否有一种比 for 循环
  • Mongo shell 中的 NumberLong 算术

    如何在 Mongo shell 中对 NumberLong 值执行精确算术 据我了解 Javascript 只有一种数字类型 number 通常限制为 54 位浮点精度 使用 例如 标准加法的直接算术显示将强制转换为较低精度类型 gt Nu
  • 向 geom_bar() / geom_col() 条添加图案或纹理?

    有时 我需要某种用于 geom bar geom col 条的图案或纹理 即用于黑白打印 例如 以下内容对于某些人来说可能很难查看 library ggplot2 library dplyr warn conflicts FALSE lib
  • 设置标头并使用 $http POST 发送数据到 pocket api 返回 CORS

    无法向 pocket api 发送 http post 请求以获取请求令牌 我已经拿到消费者密钥了 问题似乎出在设置标头和发送请求中的数据 在浏览器中查看请求时 不会显示任何标头和数据 配置请求 var req method POST ur