【问题标题】:Why would a web request that is valid in browser return 404 error from Android?为什么在浏览器中有效的 Web 请求会从 Android 返回 404 错误?
【发布时间】:2011-08-11 14:45:18
【问题描述】:

我正在编写一个应用程序来查询 Google 购物 api。使用下面的请求和有效的 api 密钥返回我在浏览器中期望的结果,而不是来自 Android 设备的结果。为什么通过 HttpClient 发送请求时会收到 404 not found 错误,但浏览器中的相同 url 有效?

API 调用:

http://www.googleapis.com/shopping/search/v1/public/products?restrictBy=gtin%3A010343876415&key=API_KEY&country=US&alt=json

谢谢

【问题讨论】:

  • 这可能是多种原因,当我点击您的链接时,我首先注意到的是:执行此操作需要 SSL。您在通话中使用 SSL 吗?您的标头是否正确构建?发布构建标题的代码。
  • 我没有设置标题,我正在使用 https,只是忘记更改它以查看是否是问题所在。与 https 设置相同的结果。我用来发出请求的代码是: HttpPost request = new HttpPost(url_string);字符串响应 = http_connect.execute(request, new BasicResponseHandler()); http_connect 是一个已经初始化的 HttpClient 对象,我也将它用于其他调用,因此它可以正常工作。我需要设置一些额外的头信息吗?
  • 我猜是吗? Google 购物 API 是怎么说的?您能否提供一个指向您一直在阅读的文档的链接,以便我们更好地了解您想要做什么?
  • 如果您有兴趣,这里是文档code.google.com/apis/shopping/search/v1/getting_started.html。我通过将请求类型切换为 HttpGet 而不是 HttpPost 来使其工作。仍然不确定为什么这会使 404 错误再次出现。但是感谢您的帮助。
  • 好:)。是的,我看到很多请求都是 GET 的

标签: android google-api


【解决方案1】:

如我评论中所述。

该 API 的文档位于 code.google.com/apis/shopping/search/v1/getting_started.html。我通过将请求类型切换为 HttpGet 而不是 HttpPost 来使其工作。仍然不确定为什么这会导致 404 错误再次出现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多