通过Web与Python连接到API

杰森·冯德史密斯

我正在尝试通过API访问XML文档。当我尝试用python连接时,我得到403状态代码。但是,当我将链接粘贴到chrome浏览器中时,数据将按原样显示。我了解我可能需要在Python中向我的请求添加一些标头,但是我不确定该怎么做。

schedule = requests.get('https://api.sportradar.us/golf-t2/schedule/pga/2015/tournaments/schedule.xml?api_key=mssbj55v2wbrbr6jcet2xcdd')
print(schedules.status_code)

我可以在chrome中获得标头,但不确定我需要添加哪些标头

接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,/ ; q = 0.8

用户代理:Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,like Gecko)Chrome / 55.0.2883.87 Safari / 537.36

如何调整我的请求以返回200状态?

尤金·利西茨基(Eugene Lisitsky)

将所有其他浏览器标头添加到请求中。最简单的方法:在Chrome上打开链接,打开“开发工具”,然后依次点击“网络”标签和“复制为cURL”。粘贴到控制台并检查是否足够:

$ curl 'https://api.sportradar.us/golf-t2/schedule/pga/2015/tournaments/schedule.xml?api_key=mssbj55v2wbrbr6jcet2xcdd' -H 'Accept-Encoding: gzip, deflate, sdch, br' -H 'Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4,es;q=0.2' -H 'Upgrade-Insecure-Requests: 1' -H 'X-Compress: null' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Cache-Control: max-age=0' -H 'If-None-Match: "c97bea3f0b2917ae53554f338c416859"' -H 'Connection: keep-alive' -H 'If-Modified-Since: Wed, 07 Oct 2015 02:41:03 GMT' --compressed ;

输出:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:s="http://feed.elasticstats.com/schema/golf/schedule-v1.0.xsd"
            exclude-result-prefixes="s" version="1.0">

<xsl:output method="html" encoding="UTF-8" indent="yes"/>

<xsl:template match="/">
....

然后使用以下命令将标头添加到您的应用中:

http://docs.python-requests.org/en/master/user/quickstart/#custom-headers

>>> url = 'https://api.github.com/some/endpoint'
>>> headers = {'user-agent': 'my-app/0.0.1'}

>>> r = requests.get(url, headers=headers)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过Python连接到Interactive Brokers API

来自分类Dev

通过Pandas Datareader(Python)连接到Iex API

来自分类Dev

通过ROR连接到AppNexus API

来自分类Dev

通过Cloudflare连接到Zoom API的问题

来自分类Dev

通过PHP连接到instagram API

来自分类Dev

通过网站连接到Nagios Api

来自分类Dev

无法通过Web API .NET Core连接到SQL Server Docker容器

来自分类Dev

Asp.Net Identity 通过 Web Api 连接到数据库

来自分类Dev

将Web API连接到SQL Server

来自分类Dev

通过Python连接到远程MySQL

来自分类Dev

Python和通过SSH连接到MySQL

来自分类Dev

无法通过python连接到ssh

来自分类Dev

无法从Web应用程序通过JDBC连接到HIVE

来自分类Dev

如何通过SSH连接到我的Web主机

来自分类Dev

控制器中的2个相同方法名称通过Web API连接到Routes

来自分类Dev

通过Sony远程相机API连接到多台相机

来自分类Dev

使用OpenIdConnectServer并尝试通过API服务连接到Facebook

来自分类Dev

Traefik 2.2无法通过TCP连接到Docker Swarm API

来自分类Dev

通过代理从Azure Functions(c#)连接到REST API

来自分类Dev

通过Sony远程相机API连接到多台相机

来自分类Dev

API 网关通过 SAM 直接连接到 SNS

来自分类Dev

如何从AngularJS网站安全地连接到Web API

来自分类Dev

通过Python中的JayDeBeApi JDBC连接到DB2

来自分类Dev

通过node-red将Python连接到网页

来自分类Dev

通过Python连接到UCCX数据库(Informix)

来自分类Dev

如何通过Python连接到Azure SQL Server

来自分类Dev

无法连接到API

来自分类Dev

如何通过混合连接将 Azure Web 应用程序连接到 Oracle Linux

来自分类Dev

通过SSH连接到我可以通过Web登录登录的服务器

Related 相关文章

热门标签

归档