Curl命令成功,但python请求获取403被禁止
我试图从中获取数据。 我得到cUrl命令:Curl命令成功,但python请求获取403被禁止,python,web-scraping,request,python-requests,http-status-code-403,Python,Web Scraping,Request,Python Requests,Http Status Code 403,我试图从中获取数据。 我得到cUrl命令: curl 'http://mayaapi.tase.co.il/api/report/filter?logo=0' -H 'Origin: http://maya.tase.co.il' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537
curl 'http://mayaapi.tase.co.il/api/report/filter?logo=0' -H 'Origin: http://maya.tase.co.il' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' -H 'X-Maya-With: allow' -H 'Content-Type: application/json;charset=UTF-8' -H 'Referer: http://maya.tase.co.il/reports/fund?q=%7B%22DateFrom%22:%222016-12-31T22:00:00.000Z%22,%22DateTo%22:%222018-02-03T22:00:00.000Z%22,%22QOpt%22:1,%22Page%22:1,%22Q%22:%22%D7%93%D7%95%D7%97%20%D7%97%D7%95%D7%93%D7%A9%D7%99%22,%22events%22:%5B%5D,%22subevents%22:%5B%5D%7D' --data-binary $'{"Page":1,"GroupData":[],"DateFrom":"2016-12-31T22:00:00.000Z","DateTo":"2018-02-03T22:00:00.000Z","IsBreakingAnnouncement":false,"IsForTaseMember":false,"IsSpecificFund":false,"Q":"\u05d3\u05d5\u05d7 \u05d7\u05d5\u05d3\u05e9\u05d9","QOpt":1,"ViewPage":4}' --compressed
当我从命令行执行此操作时,会得到一个响应。但是,当我尝试用python进行此操作时,我得到了403禁止
python代码:
response = requests.post(
"http://mayaapi.tase.co.il/api/report/filter?logo=0",
data={
"Page": 1,
"GroupData": [],
"DateFrom": "2016-12-31T22:00:00.000Z",
"DateTo": "2018-02-03T22:00:00.000Z",
"IsBreakingAnnouncement": False,
"IsForTaseMember": False,
"IsSpecificFund": False,
"Q": "דוח חודשי",
"QOpt": 1,
"ViewPage": 4,
},
headers={
"Content-Type": "application/json;charset=UTF-8",
"Origin": "http://maya.tase.co.il",
"Referer": "http://maya.tase.co.il/reports/fund?q=%7B%22DateFrom%22:%222016-12-31T22:00:00.000Z%22,%22DateTo%22:%222018-02-03T22:00:00.000Z%22,%22QOpt%22:1,%22Page%22:1,%22Q%22:%22%D7%93%D7%95%D7%97%20%D7%97%D7%95%D7%93%D7%A9%D7%99%22,%22events%22:%5B%5D,%22subevents%22:%5B%5D%7D",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
"X-Maya-With": "allow",
},
cookies={}
)
print('req1', response)
我尝试了我能想到的任何方法,但没有成功。请求没有成功,因为
POST
负载(数据参数的dict)需要用json
包装
response = requests.post(
"http://mayaapi.tase.co.il/api/report/filter?logo=0",
data=json.dumps({
"Page": 1,
"GroupData": [],
"DateFrom": "2016-12-31T22:00:00.000Z",
"DateTo": "2018-02-03T22:00:00.000Z",
"IsBreakingAnnouncement": False,
"IsForTaseMember": False,
"IsSpecificFund": False,
"Q": "דוח חודשי",
"QOpt": 1,
"ViewPage": 4,
}),
headers={
"Content-Type": "application/json;charset=UTF-8",
"Origin": "http://maya.tase.co.il",
"Referer": "http://maya.tase.co.il/reports/fund?q=%7B%22DateFrom%22:%222016-12-31T22:00:00.000Z%22,%22DateTo%22:%222018-02-03T22:00:00.000Z%22,%22QOpt%22:1,%22Page%22:1,%22Q%22:%22%D7%93%D7%95%D7%97%20%D7%97%D7%95%D7%93%D7%A9%D7%99%22,%22events%22:%5B%5D,%22subevents%22:%5B%5D%7D",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
"X-Maya-With": "allow",
},
cookies={}
)
print('req1', response)
请尝试json
参数