Python请求400错误

时间:2017-11-02 17:14:10

标签: python python-requests twitch

import requests



payload = {"query":"query GamePage_Game($name: String!, $type: DirectoryType!, $limit: Int, $languages: [String!], $cursor: Cursor, $filters: StreamMetadataFilterInput) {\n  directory(name: $name, type: $type) {\n    id\n    displayName\n    ... on Community {\n      id\n      streams(first: $limit, after: $cursor, languages: $languages) {\n        edges {\n          cursor\n          node {\n            id\n            title\n            viewersCount\n            previewImageURL(width: 320, height: 180)\n            broadcaster {\n              id\n              login\n              displayName\n              __typename\n            }\n            game {\n              id\n              boxArtURL(width: 285, height: 380)\n              name\n              __typename\n            }\n            __typename\n          }\n          __typename\n        }\n        pageInfo {\n          hasNextPage\n          __typename\n        }\n        __typename\n      }\n      __typename\n    }\n    ... on Game {\n      id\n      product {\n        id\n        __typename\n      }\n      streams(first: $limit, after: $cursor, languages: $languages, filters: $filters) {\n        edges {\n          cursor\n          node {\n            id\n            title\n            viewersCount\n            previewImageURL(width: 320, height: 180)\n            broadcaster {\n              id\n              login\n              displayName\n              __typename\n            }\n            game {\n              id\n              boxArtURL(width: 285, height: 380)\n              name\n              __typename\n            }\n            __typename\n          }\n          __typename\n        }\n        pageInfo {\n          hasNextPage\n          __typename\n        }\n        __typename\n      }\n      __typename\n    }\n    __typename\n  }\n}\n","variables":{"name":"PLAYERUNKNOWN'S BATTLEGROUNDS","limit":30,"languages":[],"type":"GAME","filters":{"hearthstoneBroadcasterHeroName":"","hearthstoneBroadcasterHeroClass":"","hearthstoneGameMode":"","overwatchBroadcasterCharacter":"","leagueOfLegendsChampionID":"","counterStrikeMap":"","counterStrikeSkill":""}},"operationName":"GamePage_Game"}
r = requests.post('https://gql.twitch.tv/gql', data=payload)


print(r.text)

我遇到的问题是,当我尝试运行此脚本以从Twitch获取信息(查看器计数等)但我得到的响应是 {"error":"Bad Request","status":400,"message":"invalid request body format"}。我无法弄清楚原因。

(当我刷新抽搐页面时,从Chromes开发工具的“网络”标签中获得了有效负载)

1 个答案:

答案 0 :(得分:1)

使用json代替data

requests.post('https://gql.twitch.tv/gql', json=payload)