首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次NewsAPI请求回复401

每次NewsAPI请求回复401
EN

Stack Overflow用户
提问于 2017-07-17 15:09:11
回答 1查看 461关注 0票数 0

我试图在python程序中使用新闻API,由于某种原因,无论如何我都无法得到200个响应。我对请求库非常陌生,所以也许我做得不对,但我的代码如下所示:

代码语言:javascript
复制
api = XXXXXXXXXX

def get_json_response(apiKey, resource='google-news', sortBy='latest'):
    url = 'https://newsapi.org/v1/articles'
    headers = { 'source': resource,
                'apiKey': apiKey,
                'sortBy': sortBy}

    r = requests.get(url, headers=headers)
    print(r.status_code)

get_json_response(api)

输出总是401。但奇怪的是,如果我把"https://newsapi.org/v1/articles/?source=google-news&apiKey=XXXXXXXXX“放在浏览器中,它会给出正确的json响应,所以我使用请求的方式肯定有问题。

有什么想法吗?提前感谢

编辑:并不完全是一个优雅的解决方案,但我将行切换为:

代码语言:javascript
复制
r = requests.get(url + '/?source=' + resource + '&sortBy=' + sortBy + '&apiKey=' + apiKey)

这是可行的,但我仍然想知道如何在将来正确地使用请求包。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-17 15:19:27

根据提供的“工作”链接,它需要URL参数,而不是请求的头,因此:

代码语言:javascript
复制
def get_json_response(apiKey, resource='google-news'):
    url = 'https://newsapi.org/v1/articles/'
    params = {'source': resource,
              'apiKey': apiKey}
    r = requests.get(url, params=params)
    print(r.status_code)
    # etc.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45147705

复制
相关文章

相似问题

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