使用python无法获得正确的json响应请求.get亚马逊ec2上的()json()

2024-10-01 13:23:49 发布

您现在位置:Python中文网/ 问答频道 /正文

一些很奇怪的事情发生了,我不知道我是否能解释清楚。 我的python程序发送一个简单的请求并按如下方式进行解析

    urlN = u'https://air.makemytrip.com/air/screen/ifsearch?tripType=O&' \
             'itinerary='+source+'-'+dest+'-D-
             '+str(date0)+'&paxType=A-1&' \
             'cabinClass='+cl

    page = requests.get(urlN, verify=False, timeout=15).json()

它在一个循环中,将日期增加1,等待5秒,依此类推。 现在这个程序在我的个人电脑和笔记本电脑上运行得很好,但是当我使用pyinstaller将其转换为exe,并在amazonec2服务器上运行时,经过3次迭代,所有的响应都会给出相同的错误:json decode error

^{pr2}$

我错过什么了吗?在makemy trip上,我对国内航班也做了同样的处理(请求url发生了变化),效果很好,但是国际航班有时会给出不完整的json响应,我通过打印页面来推测,而其他时候我不知道出了什么问题。 请帮忙!! (附言:我也试过json.load文件无济于事)


Tags: https程序comjsonsource方式air事情
1条回答
网友
1楼 · 发布于 2024-10-01 13:23:49

这意味着您获取的数据不是有效的JSON。在

如果您使用过格式函数或%s占位符,它也会更像Python:

url_template = (
    'https://air.makemytrip.com/air/screen/ifsearch?tripType=O&'
     'itinerary=%(source)s-%(dest)s-D-%(date0)s&paxType=A-1&'
     'cabinClass=%(c1)s'
)
page = requests.get(url_template % locals(), verify=False, timeout=15).json()

相关问题 更多 >