首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据google chrome检查器提供的信息发出xml http post请求。

如何根据google chrome检查器提供的信息发出xml http post请求。
EN

Stack Overflow用户
提问于 2018-07-11 07:17:26
回答 2查看 1.1K关注 0票数 2

这个问题不是重复的,因为将用户代理添加到标头并不能解决任何问题。

我一直在尝试从这个URL获取响应。它是一个XML提要,而不是一个HTML文件。这是Cashpoint.com的live soccer page每秒更新一次的实时订阅。我可以很好地从最后提到的页面中获取HTML页面,但是从第一个提到的URL中无法检索XML数据。我可以用谷歌的chrome检查器检查它,然后就可以很好地看到响应了。但它返回b'‘。已尝试get和post。

编辑:试图添加更多的头文件,但仍然不起作用。

如果检查员可以看到这些信息,它不是可以检索这些信息吗?

下面是我的代码和一些图片(如果你太忙,没有时间检查链接)。

代码语言:javascript
复制
import requests

class GetFeed():

    def __init__(self):
        pass

    def live_odds(self):

        live_index_page = 'https://www.cashpoint.dk/en/live/index.html'
        live_oddsupdate = 'https://www.cashpoint.dk/index.php?r=games/oddsupdate'

        r = requests.get(live_oddsupdate)

        print(r.text)

feed = GetFeed()
feed.live_odds()

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-11 07:35:51

您需要在post请求中包含一些数据和一些头部。试试这个:

代码语言:javascript
复制
url = 'https://www.cashpoint.dk/index.php?r=games/oddsupdate'

headers = {
    "X-Requested-With": "XMLHttpRequest",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
    "Content-Type": "application/x-www-form-urlencoded",
    "Cookie": "_ga=GA1.2.517291307.1531264976; _gid=GA1.2.1421702183.1531264976; _pk_id.155.9810=7984b0a0e139caba.1531264979.1.1531264979.1531264979.; cookieConsent=1; cpLanguage=en; langid=2; ad_network=DIRECT; PHPSESSID=f4mbbfd8adb3m59gfc1pelo126"
}

data = "parameters%5Baction%5D=odds_update&parameters%5Bgame_category%5D=live&parameters%5Bsport_id%5D=&parameters%5Btimestamp%5D=1531268162&parameters%5Bgameids%5D=%5B905814%2C905813%2C905815%2C905818%2C905792%5D&formToken=c3fed3ea6b46dae171a6f1a6d21db14fcc21474c"

response = requests.post(url, data=data, headers=headers)

print response.content

刚刚测试过了,它工作正常。这里的要点是,所有这些信息都可以在google chrome中完全相同的xhr网络检查中找到。下次,请先阅读xmlhttprequests,然后再提出问题。

票数 0
EN

Stack Overflow用户

发布于 2018-07-11 07:21:56

首先,在Chrome控制台中,你可以看到这是一个POST请求,而且看起来你是在Python代码中执行GET请求。

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

https://stackoverflow.com/questions/51275134

复制
相关文章

相似问题

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