打开 鼠标右键查看源代码,可以看到我们需要post的name。如下:
这里需要在post试提交token和search_str的值,这里的token应该使用时效性的。可以一次获取,短时间内多次使用。
在没有使用cookie时提交数据报错:
这里需要加上cookie本地存储。
具体代码如下:
#!/usr/bin/env python3__author__ = 'DSOWASP'#encoding:UTF-8import urllibimport urllib.parseimport http.cookiejarimport urllib.requestimport prettytableimport collections# urllib.request.urlopen(url) 返回 http.client.HTTPResponse 对象# 设置一个cookie处理器,它负责从服务器下载cookie到本地,并且在发送请求时带上本地的cookiecj = http.cookiejar.LWPCookieJar()cookies_support = urllib.request.HTTPCookieProcessor(cj)opener = urllib.request.build_opener(cookies_support,urllib.request.HTTPHandler)urllib.request.install_opener(opener)# get#打开登录主页面(他的目的是从页面下载cookie,这样我们在再送post数据时就有cookie了,否则发送不成功)# 获取网站内容url = "http://crm.oldboyedu.com/crm/grade/single/"h = urllib.request.urlopen(url)# 获取csrfmiddlewaretokendata = h.read().decode('UTF-8')for i in data.split('\n'): #
输出结果: