php发送get、post请求的6种方法简明总结

来源:脚本之家  责任编辑:小易  

雷军发布会上嘲笑OPPO低配高价。这个应该没有嘲笑吧,也就是发布会的时候,进行了一些数据对比,不算嘲笑吧。还有然而有很多人表示下一次依然用OPPO是为什么?依然用OPPO这可以说明,本身就是OPPO的用户,而不是小米手机的用户,所以继续选择OPPO手机也是情理之中。还有就是,不想用OPPO了,准备换手机,可能看中小米的配置,或者一些其他的地方,但是又苦于买不到。所以依旧选择OPPO。如果觉得对你有帮助,可以,多多评论,多多点赞哦,也可以到我的主页看看,说不定有你喜欢的讯息,可以随手点个关注哦,谢谢

方法1: 用file_get_contents 以get方式获取内容:

这么说吧,利弊都有。一点一点说。首先先看你家附近公狗多还是母狗多,如果公狗多,那就养母狗,反之亦然。说下原因哈:同性的狗见了面之后容易打架,公狗与公狗就容易打架,母狗与母狗也容易打架。异性相遇的时候一般就不会打起来。其次,从狗自身来看,母狗每年回来1-2次的例假,每次15-20天左右,所以家里不注意的话会有血迹的~当然绝育之后就不会有这样的问题了。公狗的话因为地盘领地意识比较重,所以要是管教不好,长大也会在家里偶尔尿尿占地盘。出门的时候也会老找地方屌点尿,路人看到会觉得厌烦。第三,如果不绝育的话,公狗会在母狗发情期间跟着母狗跑(教育不好的情况下),会大大增加遗失率。所以如果不想传宗接代,那就在

<?php $url='//www.zgxue.com/'; $html = file_get_contents($url); echo $html; ?>

曼联队历史上出现过太多球星,这份最佳阵容名单还是从英超时代算起吧。门将:舒梅切尔曼联队三冠王的绝对主力,也是曼联队这些年来的传奇门将。范德萨和德赫亚当然也很出色,但是从成绩和气质上还是与舒梅切尔有些差距。右后卫:加里内维尔92一代杰出代表之一,对于曼联队忠心不二。虽然身体素质各方面不是最佳的,但是在曼联队中绝对兢兢业业,随曼联队夺得冠军无数,最后也带上了曼联队长袖标。中后卫:维迪奇、斯塔姆,二人不属于同一时代,但绝对都是铁血硬汉,符合曼联气质。另外,费迪南德的实力也绝对可以进入这份名单。左后卫:埃尔文被弗格森挖掘,在曼联队左边后卫位置攻防俱佳,同时还有任意球功底。后腰:基恩曼联队铁血队长。虽然

方法2: 用fopen打开url, 以get方式获取内容:

宝骏的4S那帮人你也敢相信,且不说这个东西管不管用,即使管用,一般宝骏4S收费标准在140元/瓶,实际价格能买六七瓶了,就权当管用了,二保10000公里就让使用这个,真是让人费解,这个清洁剂能不用就不要用,这个东西是有负作用的,因为清洗后是放不干净的,有清洗剂留在发动机里的,清洗剂会稀释机油,降低润滑性能,新机油再加入就会有所影响,以你目前的情况,只有在观察一段时间,一般来说更换气门室盖垫和火花塞,只要是正品、更换装配合理,是不会对发动机有太大影响,不过你去检测4S说没问题,你必须让他给你开单子证明,如果以后有了质量问题,你就可以明证言顺的进行索赔。我说车辆有问题,你说没有,你是专业人员,我听

<?php $fp = fopen($url, ‘r'); stream_get_meta_data($fp); while(!feof($fp)) { $result .= fgets($fp, 1024); } echo “url body: $result”; fclose($fp); ?>

方法3:用file_get_contents函数,以post方式获取url

<?php $data = array (‘foo' => ‘bar'); $data = http_build_query($data); $opts = array ( ‘http' => array ( ‘method' => ‘POST', ‘header'=> “Content-type: application/x-www-form-urlencodedrn” . “Content-Length: ” . strlen($data) . “rn”, ‘content' => $data ) ); $context = stream_context_create($opts); $html = file_get_contents(‘http://localhost/e/admin/test.html', false, $context); echo $html; ?>

方法4:用fsockopen函数打开url,以get方式获取完整的数据,包括header和body,fsockopen需要 PHP.ini 中 allow_url_fopen 选项开启

<?php function get_url ($url,$cookie=false) { $url = parse_url($url); $query = $url[path].”?”.$url[query]; echo “Query:”.$query; $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30); if (!$fp) { return false; } else { $request = “GET $query HTTP/1.1rn”; $request .= “Host: $url[host]rn”; $request .= “Connection: Closern”; if($cookie) $request.=”Cookie: $cookien”; $request.=”rn”; fwrite($fp,$request); while(!@feof($fp)) { $result .= @fgets($fp, 1024); } fclose($fp); return $result; } } //获取url的html部分,去掉header function GetUrlHTML($url,$cookie=false) { $rowdata = get_url($url,$cookie); if($rowdata) { $body= stristr($rowdata,”rnrn”); $body=substr($body,4,strlen($body)); return $body; } return false; } ?>

方法5:用fsockopen函数打开url,以POST方式获取完整的数据,包括header和body

<?php function HTTP_Post($URL,$data,$cookie, $referrer=”") { // parsing the given URL $URL_Info=parse_url($URL); // Building referrer if($referrer==”") // if not given use this script as referrer $referrer=”111″; // making string from $data foreach($data as $key=>$value) $values[]=”$key=”.urlencode($value); $data_string=implode(“&”,$values); // Find out which port is needed – if not given use standard (=80) if(!isset($URL_Info["port"])) $URL_Info["port"]=80; // building POST-request: $request.=”POST “.$URL_Info["path"].” HTTP/1.1n”; $request.=”Host: “.$URL_Info["host"].”n”; $request.=”Referer: $referern”; $request.=”Content-type: application/x-www-form-urlencodedn”; $request.=”Content-length: “.strlen($data_string).”n”; $request.=”Connection: closen”; $request.=”Cookie: $cookien”; $request.=”n”; $request.=$data_string.”n”; $fp = fsockopen($URL_Info["host"],$URL_Info["port"]); fputs($fp, $request); while(!feof($fp)) { $result .= fgets($fp, 1024); } fclose($fp); return $result; } ?>

方法6:使用curl库,使用curl库之前,可能需要查看一下php.ini是否已经打开了curl扩展

<?php $ch = curl_init(); $timeout = 5; curl_setopt ($ch, CURLOPT_URL, ‘//www.zgxue.com/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $file_contents = curl_exec($ch); curl_close($ch); echo $file_contents; ?>

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

thinkPHP3.2.3实现阿里大于短信验证的方法

注册并登录阿里云

点击控制台后–>鼠标滑到你的用户名称(右边倒数第二个)–>点击accesskeys–>获取

点击控制台后–>产品与服务–>云计算基础服务–>云通信–>短信服务

如果没有送测试短信签名和模板–>添加签名–>添加模板

下载SDK

https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55451.6.569.0uXt4J

进入后选择PHP,会得到dysmsapi_demo_sdk__php.zip,解压得到下图目录

thinkPHP3.2.3实现阿里大于短信验证(阿里云合并后的版本)-

放置API

在TP根目录下创建文件夹Api,并将api_sdk整个文件夹复制进去,改名dysms(可自由取名)

thinkPHP3.2.3实现阿里大于短信验证(阿里云合并后的版本)- thinkPHP3.2.3实现阿里大于短信验证(阿里云合并后的版本)-

引入API文件

在自己需要调用的控制器头部引入如下路径

use Aliyun/Core/Config; use Aliyun/Core/Profile/DefaultProfile; use Aliyun/Core/DefaultAcsClient; use Aliyun/Api/Sms/Request/V20170525/SendSmsRequest;

thinkPHP3.2.3实现阿里大于短信验证(阿里云合并后的版本)-

8.正真的撸码现在开始

上源码:

/** * 数据处理 */ public function send_message(){ $phone=I("post.phone"); //查找是否已经注册 $user = D('User') -> where("user_phone = {$phone}") -> find(); if ($user) { echo "手机号已注册!"; }else{ $this->send_phone($phone); } // $this->ajaxReturn($data,"JSON"); } /** * 生成短信验证码 * @paraminteger $length [验证码长度] */ public function createSMSCode($length = 4){ $min = pow(10 , ($length - 1)); $max = pow(10, $length) - 1; return rand($min, $max); } /** * 发送验证码 * @param[integer] $phone [手机号] */ public function send_phone($phone){ $code=$this->createSMSCode($length = 4); require_once'./Api/dysms/vendor/autoload.php';//此处为你放置API的路径 Config::load();//加载区域结点配置 $accessKeyId = '换成自己的'; $accessKeySecret = '换成自己的'; $templateCode = '换成自己的'; //短信模板ID //短信API产品名(短信产品名固定,无需修改) $product = "Dysmsapi"; //短信API产品域名(接口地址固定,无需修改) $domain = "dysmsapi.aliyuncs.com"; //暂时不支持多Region(目前仅支持cn-hangzhou请勿修改) $region = "cn-hangzhou"; // 初始化用户Profile实例 $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret); // 增加服务结点 DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain); // 初始化AcsClient用于发起请求 $acsClient = new DefaultAcsClient($profile); // 初始化SendSmsRequest实例用于设置发送短信的参数 $request = new SendSmsRequest(); // 必填,设置短信接收号码 $request->setPhoneNumbers($phone); // 必填,设置签名名称 $request->setSignName("换成自己的"); // 必填,设置模板CODE $request->setTemplateCode("换成自己的"); $smsData = array('code'=>$code);//所使用的模板若有变量 在这里填入变量的值我的变量名为username此处也为username //选填-假如模板中存在变量需要替换则为必填(JSON格式),友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含/r/n的情况在JSON中需要表示成//r//n,否则会导致JSON在服务端解析失败 $request->setTemplateParam(json_encode($smsData)); //发起访问请求 $acsResponse = $acsClient -> getAcsResponse($request); //返回请求结果 $result = json_decode(json_encode($acsResponse), true); $resp = $result['Code']; $this->sendMsgResult($resp,$phone,$code); } /** * 验证手机号是否发送成功前端用ajax,发送成功则提示倒计时,如50秒后可以重新发送 * @param[json] $resp[发送结果] * @param[type] $phone [手机号] * @param[type] $code[验证码] * @return [type] [description] */ private function sendMsgResult($resp,$phone,$code){ if ($resp == "OK") { $data['phone']=$phone; $data['code']=$code; $data['send_time']=time(); $result=D("Smsverif")->add($data); if($result){ $data="发送成功"; }else{ $data="发送失败"; } } else{ $data="发送失败"; } return $data; } /** * 验证短信验证码是否有效,前端用jquery validate的remote * @return [type] [description] */ public function checkSMSCode(){ $phone = $_POST['phone']; $code = $_POST['verify']; $nowTimeStr = time(); $smscodeObj = D("Smsverif")->where("phone={$phone} and code = {$code}")->find(); if($smscodeObj){ $smsCodeTimeStr = $smscodeObj['send_time']; $recordCode = $smscodeObj['code']; $flag = $this->checkTime($nowTimeStr, $smsCodeTimeStr); if($flag!=true || $code !== $recordCode){ echo 'no'; }else{ echo 'ok'; } } } /** * 验证验证码是否在可用时间 *@param[json] $nowTimeStr[发送结果] * @param[type] $smsCodeTimeStr [手机号] */ public function checkTime ($nowTimeStr,$smsCodeTimeStr) { $time = $nowTimeStr - $smsCodeTimeStr; if ($time>900) { return false; }else{ return true; } }

在来点前端js码:

温馨提示:html还请诸君能自己发挥

代码有了,效果怎么可能没有呢!(实例是用户注册,我的手机号已经注册过了,所以效果是使用的找回密码)

thinkPHP3.2.3实现阿里大于短信验证(阿里云合并后的版本)-

到这里就OK了

总结

以上所述是小编给大家介绍的thinkPHP3.2.3实现阿里大于短信验证的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:Thinkphp实现短信验证注册功能ThinkPHP验证码使用简明教程thinkphp验证码显示不出来的解决方法thinkPHP中验证码的简单使用方法thinkphp3.2点击刷新生成验证码详解ThinkPHP3.2.3验证码显示、刷新、校验thinkphp自带验证码全面解析ThinkPHP验证码和分页实例教程ThinkPHP3.2.1图片验证码实现方法thinkPHP框架实现的短信接口验证码功能示例

  • 本文相关:
  • php中使用curl实现get和post请求的方法
  • jquery中$.get(),$.post(),$.ajax(),$.getjson()的用法总结
  • java使用httpclient模拟post请求和get请求示例
  • php中$_request、$_post、$_get的区别和联系小结
  • php中使用curl、socket、file_get_contents三种方法post提交数据
  • android之httppost&httpget使用方法介绍
  • python通过get,post方式发送http请求和接收http响应的方法
  • ajax中get和post的说明及使用与区别
  • jquery get和post 方法传值注意事项
  • c#使用get、post请求获取结果
  • 基于php技术开发客服工单系统
  • zend framework常用校验器详解
  • thinkphp多表查询及分页功能实现方法示例
  • php获取、检查类名、函数名、方法名的函数方法
  • thinkphp3.0输出重复两次的解决方法
  • php生成迅雷、快车、旋风等软件的下载链接代码实例
  • php数字游戏 计算24算法
  • php for 循环使用的简单实例
  • 让codeigniter数据库缓存自动过期的处理的方法
  • php 生成n个不重复的随机数
  • thinkPHP3.2.3实现阿里大于短信验证的方法
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved