html使用 数组 post,关于post请求发送数组

ajax: http://jzxxgk.jian.gov.cn/api-ajax_list-3.html, 参数参考下面的函数

function show_lists(page) {

$.ajax({

url: "api-ajax_list-" + page + ".html",

type: "post",

async: false,

data: {

"ajax_type": ["12_xxgk", "95446", 12, "xxgk", "Y-m-d", 22, 20, ["inputtime DESC"], "..."],

"is_ds": 1

},

dataType: "JSON",

success: function (data) {

}

})

}

请求参数

031bd4e6f388

抓取的请求参数

一般post请求把数据往表单中一放, 就可以了(文章中的url不需要设置header)

import requests

data = {

"ajax_type": ["12_xxgk", "95446", 12, "xxgk", "Y-m-d", 22, 20, ["inputtime DESC"], "..."],

"is_ds": 1

}

if __name__ == '__main__':

url = 'http://jzxxgk.jian.gov.cn/api-ajax_list-3.html'

res = requests.post(url=url, data=data)

print(res.json())

然并卵, 并没有出现想要的结果

{

"status":0,

"msg":"新闻或信息公开表不存在"

}

修改一下请求参数试试

import requests

datas = {

"ajax_type[0]": "12_xxgk",

"ajax_type[1]": "95464",

"ajax_type[2]": 12,

"ajax_type[3]": "xxgk",

"ajax_type[4]": "Y-m-d",

"ajax_type[5]": 22,

"ajax_type[6]": 20,

"ajax_type[7]": ["inputtime DESC"],

"ajax_type[8]": "...",

"is_ds": "1",

}

if __name__ == '__main__':

url = 'http://jzxxgk.jian.gov.cn/api-ajax_list-3.html'

res = requests.post(url=url, data=datas)

print(res.text)

再看一下结果, 数据有点多, 就不全贴出来了

{

"data":[

{

"id":"9956094",

"catid":"95464",

"title":"关于中心城区公园改造提升工程环境影响 报告表...",

"slug_title":"",

"sub_title":"",

"outlink":null,

"is_top":"0",

"thumb":"",

"keywords":"",

"hits":"0",

"uid":"1",

"author":"admin",

"status":"9",

"url":"[http://jzxxgk.jian.gov.cn/xxgk-show-9956094.html](http://jzxxgk.jian.gov.cn/xxgk-show-9956094.html)",

"link_id":"0",

"tableid":"199",

"inputip":"127.0.0.1",

"inputtime":"2017-07-21",

"updatetime":"1970-01-01",

"comments":"0",

"favorites":"0",

"serial":"D3161-0503-2017-0042",

"displayorder":"0",

"laiyuan":"",

"zuozhe":"",

"ct_site":"",

"dy_site":"",

"bolds":null,

"zt_css":"0",

"ct_site_new":"",

"dy_site_new":null,

"wjbh":null,

"gkfs":"主动公开",

"gksx":"常年公开",

"gkfw":"面向全社会",

"zerenbumen":null,

"ol":1

},

...

],

"total":233

}

原因

为啥用下标写就可以了呢, 为了保持顺序, 后台可能是通过下标来获取信息的吧

正常请求

031bd4e6f388

正常发送的请求参数

将参数拷贝到postman中再发送

031bd4e6f388

抓取的请求参数

参数的顺序发生了变化, 后台自然就获取不到正确的值了, 也就不会有结果了

附加

下标为7的元素也是一个列表, 也是一样的写法

datas_2 = {

"ajax_type[0]": "12_xxgk",

"ajax_type[1]": "93745",

"ajax_type[2]": 12,

"ajax_type[3]": "xxgk",

"ajax_type[4]": "Y-m-d",

"ajax_type[5]": 22,

"ajax_type[6]": 20,

"ajax_type[7][0]": "is_top DESC",

"ajax_type[7][2]": "displayorder DESC",

"ajax_type[7][3]": "inputtime DESC",

"ajax_type[8]": "...",

"is_ds": "1",

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值