请求.Session的python post url

时间:2017-11-15 19:50:13

标签: python post request

我正在尝试使用" requests.Session"来下载python文件。为了考虑到cookie。

我的以下代码返回第二个网页的源代码但是没有下载文件...即使我已经包含了标题和参数...... 我没想到在这里找到问题......

s = requests.Session()
url_euronex = "https://www.euronext.com/equities/directory"
response = s.get(url_euronex)
response_code = response.status_code
if response_code==200:
    content = response.text
    token = content[content.index('formKey=nyx_pd_filter_values:')+29 : content.index('dataTableInitCallback')-3]

    url = "https://www.euronext.com/fr/popup/data/download?ml=nyx_pd_stocks&cmd=default&formKey=nyx_pd_filter_values%3A"+str(token)
    print(url)
    headers = {
        'Host':'www.euronext.com',
        'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0',
        'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language':'en-US,en;q=0.5',
        'Accept-Encoding':'gzip, deflate, br',
        'Referer':url,
        'Content-Type':'application/x-www-form-urlencoded',
        'Content-Length':'135',
        'Connection':'keep-alive',
        'Upgrade-Insecure-Requests':'1'}

    Params = {'Query string':{'ml':'nyx_pd_stocks', 'cmd':'default', 'formKey':'nyx_pd_filter_values:'+str(token)}, 'Form data':{'format':'3','layout':'2','decimal_separator':'1','date_format':'1','op':'Go','form_build_id':'form-64080cce1044e288464d174290cb40e9','form_id':'nyx_download_form'}}

    data = [{'url': url, 'params': Params, 'method': 'post'}]
    r = s.post(url, json=data, headers=headers)

    if r.status_code==200:
        print('coucou')
        #resultat = (r.text).encode('utf-8')
        print(r.text)

0 个答案:

没有答案