首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试API请求

调试API请求
EN

Stack Overflow用户
提问于 2016-03-06 21:53:54
回答 1查看 1K关注 0票数 0

我正在尝试将用户状态更新发布到Goodreads。

大多数情况下,我的请求返回200 OK,什么也不做。但是,它不时地返回创建的201并更新状态。当它正常工作时,这总是我第一次尝试在iOS模拟器中运行这个应用程序之后进行调用。后来的电话根本不起作用。

我不认为问题在于API本身,因为官方的Goodreads应用程序使用的是相同的调用,而且它总是有效的。

他们的API以参数中包含括号的调用出现问题而闻名,但我可以进行其他包含括号的调用,它们工作得很好,问题就在这里。

我正在使用OAuthSwift,这是我的代码:

代码语言:javascript
复制
    oAuth.client.post(
        "http://www.goodreads.com/user_status",//.xml",//?user_status[book_id]=6366035&user_status[page]=168",
        parameters: ["user_status[page]" : 168, "user_status[book_id]" : 6366035, "format" : "xml"],
        //headers: ["Content-Type" : "application/x-www-form-urlencoded"],
        success: {
            data, response in
            print("")
            print(response)
        },
        failure: {
            error in
            print("")
            print(error)
        }
    )

(注释掉的部分是我尝试过的不成功的替代品。)

我正在打印得到签名的基字符串,显然,除了noncetimestamp之外,工作调用和无效调用看起来都是一样的。

在标头中还包括oauth_signature,它每次都会更改,有时还会包含由OAuthSwift编码的字符,这样就可以解释调用在某些时候才能工作(只有在签名不包含特定字符时才能工作)…但是我也在打印标头,我没有看到任何模式,也没有看到在调用的头和调用的头之间有任何明显的区别。

所以现在我不知道该测试什么了,…我正在检查基本字符串和标头,以查找有效的调用和不工作的调用,它们看起来都是相同的…有人能想出别的什么事情来改变我的电话吗我应该检查一下吗?我不知道导致这种情况的原因,也不知道如何调试它。

提前谢谢你,

丹尼尔

编辑:非常奇怪的…我用request客户端Paw和Chrome的邮递员扩展来尝试我的请求。如果我使用https,我在第一个呼叫中得到404,第二个调用得到201,第三个调用得到404,第四个呼叫得到201,依此类推。它每隔一次工作一次。它工作的时间--如果我使用http或https并不重要,只要之前有一个失败的https请求,它就能工作。

因此,我尝试在我的应用程序中做同样的事情:我添加了两个https调用,一个接一个…。在我的应用程序中,它们总是返回404。

因此,邮递员、Paw和OAuthSwift处理这些请求的方式似乎有所不同。我不知道这些客户…之间有什么区别签名基字符串似乎都是相同的,标头也是…。那么他们之间还能有什么变化呢?

EN

回答 1

Stack Overflow用户

发布于 2016-03-06 22:41:23

在较新版本的Xcode中,您只能与HTTPS服务器通信。我希望Google支持这一点,这样你就可以更改URL了。或者你可以编辑你的Info.plist文件。

应用程序传输安全设置>允许任意加载>是

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35833063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档