博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP CURL模拟提交数据 攻击N次方
阅读量:5796 次
发布时间:2019-06-18

本文共 3185 字,大约阅读时间需要 10 分钟。

 

 

public function actionCurl(){                $data['DATA']='{"NAME":"c","LEGEND":"c;c","GENDER":"","CITY":0,"BIRTHDAY":"","COMPANY":"","JOB":"","WEBSITE":"","ADDRESS":"","NOTE":"","CONTACTS":[],"IMS":[],"FLAGS":[]}';        $headers=array();        $headers[]='X-Requested-With:XMLHttpRequest';        $headers[]='Cookie:token=3cedf24b188fd7ac57176256a2a14879-b419e6ebb414d661a6e86a30cd633ce5; PHPSESSID=ddfrjb4p8evu3cumgnsveet2o3; _ga=GA1.2.1014541392.1437467254; _gat=1';        $headers[]='Referer:http://www.crm.com/newContact.php';        $headers[]='Content-Type:application/x-www-form-urlencoded; charset=UTF-8';        $headers[]='Content-Length:315';        $headers[]='Host:www.crm.com';        $headers[]='DNT:1';        $headers[]='Pragma:no-cache';        $headers[]='Connection:Keep-Alive';        $headers[]='User-Agent:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)';        $headers[]='Accept:application/json, text/javascript, */*; q=0.01';        $headers[]='Accept-Encoding:gzip, deflate';        $headers[]='Accept-Language:zh-CN';        for ($i = 0; $i < 10; $i++) {            $res = $this->curls($data, 'http://www.crm.com/handler/handleAddContact.php ', 'POST', $headers);            print_r($res);        }    }                /**     *   curl请求     * @author lid     * @param array $data   要请求的array数组     * @param str $url      请求的地址     * @param str $method   大写 POST   GET     * @param array $headers   扩展包头信息     * @return string          */    public static  function curls($data, $url, $method = 'POST', $headers = array()) {                $ch = curl_init();        $method_upper = strtoupper($method);        if ($method_upper == 'POST') {            curl_setopt($ch, CURLOPT_URL, $url);            curl_setopt($ch, CURLOPT_POSTFIELDS,  http_build_query($data));        } else {            $url = $url . (strpos($url, '?') ? '&' : '?') . (is_array($data) ? http_build_query($data) : $data);            curl_setopt($ch, CURLOPT_URL, $url);        }        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method_upper);        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);        curl_setopt($ch, CURLOPT_TIMEOUT, 20);        if ($headers) {            curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);        }        $tmpInfo = curl_exec($ch);        if (curl_errno($ch)) {            exit(curl_error($ch));        }        curl_close($ch);        return $tmpInfo;    }

 

 

 

CURLOPT_POSTFIELDS的这个设置中,亦可以直接发送数组的,但是这样做的后果是严重增加的请求的时间,耗时大约在2秒多,同样的操作用socket方式操作则正常,在毫秒级别。

 数组:curl_setopt($ch, CURLOPT_POSTFIELDS, $arrData);

 修改为:curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));

http_build_query — 生成 URL-encode 之后的请求字符串。

 

curl 发送XML数据

$xml = ('
Tove
Jani
Reminder
Don\'t forget me this weekend!
');$url = "https://wx.api.zf.com/wxnotify.php ";$header[] = "Content-type: text/xml";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$res = curl_exec($ch);curl_close($ch);

 

转载地址:http://bpifx.baihongyu.com/

你可能感兴趣的文章
network
查看>>
SettingsNotePad++
查看>>
centos7安装cacti-1.0
查看>>
3个概念,入门 Vue 组件开发
查看>>
没有JS的前端:体积更小、速度更快!
查看>>
数据指标/表现度量系统(Performance Measurement System)综述
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
Angular2, NativeScript 和 React Native比较[翻译]
查看>>
论模式在领域驱动设计中的重要性
查看>>
京东AI研究院何晓冬:将先进的技术和模型落地到产业
查看>>
国内首例:飞步无人卡车携手中国邮政、德邦投入日常运营
查看>>
微软将停止对 IE 8、9和10的支持
查看>>
微服务架构会和分布式单体架构高度重合吗
查看>>
如何测试ASP.NET Core Web API
查看>>
《The Age of Surge》作者访谈
查看>>
测试人员的GitHub
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
有关GitHub仓库分支的几个问题
查看>>
无服务器计算的黑暗面:程序移植没那么容易
查看>>
云原生的浪潮下,为什么运维人员适合学习Go语言?
查看>>