http请求显示无效信息python

时间:2018-01-08 23:18:42

标签: python http

我试图从

获取数据

https://www.biman-airlines.com/bookings/flight_selection.aspx

例如,当我选择从达卡(DAC)飞往锡尔赫特(ZYL)的航班时,它会转到

https://www.biman-airlines.com/bookings/flight_selection.aspx?TT=RT&SS=&RT=&FL=on&DC=DAC&AC=ZYL&AM=2018-01&AD=09&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&RM=2018-01&RD=10&PA=1&PT=&PC=&PI=&CC=&NS=&CD=&FS=B4B9631

并显示航班信息

但是当我尝试使用python执行此类请求时,它显示没有信息

这是我的代码:

import requests

print(requests.get('https://www.biman-airlines.com/bookings/flight_selection.aspx?TT=RT&SS=&RT=&FL=on&DC=DAC&AC=ZYL&AM=2018-01&AD=09&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&RM=2018-01&RD=10&PA=1&PT=&PC=&PI=&CC=&NS=&CD=&FS=').text)

我做错了什么?

提前感谢任何帮助

1 个答案:

答案 0 :(得分:1)

但是当我尝试使用python执行此类获取请求时,它显示没有信息。我做错了什么?

请求结果显示没有信息,因为python HTTP请求中没有cookie数据。

如果您在浏览器调试窗口中检查HTTP请求,您可以看到cookie和请求一起 - cookie识别客户端是谁并告诉服务器"嗨,服务器,我有效用户&#34 ;: enter image description here

有了合理的猜测,在这个biman-airlines.com案例中,只有在cookie有效的情况下,服务器才会检查cookie并返回结果。

因此,您需要在python代码中添加Cookie标头:

# The cookie below is just for example, you would get your own cookie once visiting the website.
headers = {
    'Cookie': 'chocolateChip=nbixfy44dvziejjdxd2wmzs3; BNI_bg_zapways=0000000000000000000000009301a8c000005000; ASPSESSIONIDSQDCSSDT=PFJPADACFOGBDMONPBHPMFJN'
}

print(requests.get('https://www.biman-airlines.com/bookings/flight_selection.aspx?TT=RT&SS=&RT=&FL=on&DC=DAC&AC=ZYL&AM=2018-01&AD=09&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&DC=&AC=&AM=&AD=&RM=2018-01&RD=10&PA=1&PT=&PC=&PI=&CC=&NS=&CD=&FS=B4B9631', headers=headers).text)