API是:http://sapi.genshuixue.com/area/getCityListV2
在chrome中加载此api,响应为:
{ “消息”: “\ u7cfb \ u7edf \ u7e41 \ u5fd9 \ uff0c \ u8bf7 \ u7a0d \ u540e \ u91cd \ u8bd5!”, “代码”:0 “结果是”:{ “消息”:“\ u7b7e \ u540d \ u5931 \ u6548" }}
但我使用fiddler可以成功获得响应json。
在提琴手中,标题是:POST /area/getCityListV2 HTTP/1.1
Host: sapi.genshuixue.com
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip
Content-Length: 1481
Content-Type: multipart/form-data; boundary=Boundary+BD495D1B844800CF
Accept-Language: zh-Hans-CN;q=1
Cookie: AUTH_TOKEN=A34lZ2l6bWhqZG9qKEE6PT8_PEI6NSx_fXB9f4V8cS9HOj86MHB_f2-EiYF2M0xEPjV2hzZORUlKRkZIS05JSEQ6i3qFjTxUPFyMTV1PgZVNP5s; CITY_ID=117964800; CITY_NAME=%E5%AE%89%E9%A1%BA; PHPSESSID=8qb1qcjdg2j6sijvqdr9k2ut26; __guid__=567d13599d81f5-63960182; __track_id__=567d13584ce54948918369f2be2f9af477819b03; _ga=GA1.2.1164903637.1451037531; device_no=82B44270-909C-4213-AC3D-AF328895F335; jailbroken=0; lat=0; lng=0
Connection: keep-alive
User-Agent: BJEducation_student/3.0.5 (iPhone; iOS 9.2; Scale/2.00)
问题是:
我可以使用python请求模块来获取响应吗?
我用:
import requests
import pandas as pd
params = {
'Host': 'sapi.genshuixue.com',
'Connection': 'keep-alive',
'Accept': '*/*',
'Accept-Encoding':'gzip',
'Content-Length': 1481 ,
'Content-Type':'multipart/form-data',
'boundary':'Boundary+3124969C679D964B',
'Accept-Language': 'zh-Hans-CN;q=1',
'Connection': 'keep-alive',
'User-Agent': 'BJEducation_student/3.0.1 (iPhone; iOS 9.2; Scale/2.00)',
'Connection': 'keep-alive',
}
cookie= {
'AUTH_TOKEN':'A34lZ2l6bWhqZG9qKEE6PT8_PEI6NSx_fXB9f4V8cS9HOj86MHB_f2-EiYF2M0xEPjV2hzZORUlKRkZIS05JSEQ6i3qFjTxUPFyMTV1PgZVNP5s',
'CITY_ID' : '503578624',
'CITY_NAME' : '%E6%9D%AD%E5%B7%9E',
'device_no' : '82B44270-909C-4213-AC3D-AF328895F335',
'jailbroken' : '0',
'lat' : '0' ,
'lng' : '0' ,
}
df = requests.post('https://sapi.genshuixue.com/area/getCityListV2',headers=params,cookies = cookie,verify=False)
失败