php 使用fsockopen 发送http请求】的更多相关文章

需求背景 在公司开发这么一个需求,每天三次定时催付待客服催付状态的订单,设定每天15.16.17点三次执行job任务来给一批订单打电话催付,需要三个时间点都把待客服催付的订单拨打一遍电话,根据数据组统计,大概每天需要催付的订单数量在6000左右,对接第三方电话呼叫业务,拿到订单信息来呼叫. 测试状态 拿500个订单手动执行第一波测试,发现500个订单催付完毕需要30多分钟,那么6000个订单按照需求催付时间点是完全不够的,半小时500个,一小时最多1000个. 初步排查,是由于使用php  cu…
<?php function HTTP_Post($URL,$data, $referrer="") { // parsing the given URL $URL_Info=parse_url($URL); // Building referrer if($referrer=="") // if not given use this script as referrer $referrer=$_SERVER["SCRIPT_URI"];…
php执行一段程序,有可能几毫秒就执行完毕,也有可能耗时较长.例如,用户下单这个事件,如果调用了些第三方服务进行发邮件.短信.推送等通知,可能导致前端一直在等待.而有的时候,我们并不关心这些耗时脚本的返回结果,只要执行就行了.这时候就需要采用异步的方式执行. 众所周知,PHP没有直接支持多线程这种东西.我们可以采用折衷的方式实现.这里主要说的就是fsockopen. 通过fsockopen发送请求并忽略返回结果,程序可以马上返回. 示例代码: $fp = fsockopen("www.examp…
file_get_contents版本: <?php /** * 发送post请求 * @param string $url 请求地址 * @param array $post_data post键值对数据 * @return string */ function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options = array( 'http' => array( 'method'…
http请求有get,post. php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]. file_get_contents();详情见:http://www.whosmall.com/ curl发送请求. fsocket发送. 下面说使用curl发送. 首先环境需要配置好curl组件. 1 2 3 4 5 6 7 8 9 10 在windows中让php支持curl比较简单: 在php.ini中将extension=php_curl.dll前面的分号去掉, 有人说需要将php根…
使用了笨重fsockopen()方法后,我们开始在PHP函数库里寻找更简单的方式来进行POST请求,这时,我们发现了PHP的文件函数也具有与远程URL交互的功能. 最简单的是fopen()和fread()函数. $fp=fopen('http://localhost?query=query','r'); $content=fread($fp,1024); echo $content;//输出HTML文档信息 fclose($fp); 然后是file_get_contents()函数: $cont…
使用 PHP + socket 模拟发送 HTTP GET 请求,过程是: ① 打开连接 ② 构造 GET 请求的数据:写入请求行.请求头信息.请求主体信息(GET 请求没有主体信息) ③ 发送 GET 请求 ④ 读取(响应) ⑤ 关闭连接 [例]PHP + socket 编程,发送 GET 请求 <?php /* PHP + socket 编程 @发送 HTTP GET 请求 */ //http 请求类的接口 interface Proto{ //连接 url function conn($u…
本文转自:http://blog.snsgou.com/blog/161.html  file_get_contents版本: /** * 发送post请求 * @param string $url 请求地址 * @param array $post_data post键值对数据 * @return string */ function send_post($url, $post_data) { $postdata = http_build_query($post_data); $options…
可以根据几根url地址,分析出主机,地址,协议等,然后用封装成的类拼接成GET请求信息,用fsockopen连接主机,进行读取操作,获取响应信息,打印 <?php //http连接接口 interface proto{ //连接url public function conn($url); //发送get请求 public function get(); //发送post public function post($num); //关闭连接 public function close(); }…
http请求有get,post. php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]. file_get_contents();详情见:http://www.cnblogs.com/simpman/p/3419989.html curl发送请求. fsocket发送. 下面说使用curl发送. 首先环境需要配置好curl组件. 在windows中让php支持curl比较简单: 在php.ini中将extension=php_curl.dll前面的分号去掉, 有人说需要将php根…