导航:首页 > 编程语言 > phpcurl长连接

phpcurl长连接

发布时间:2024-03-13 06:56:04

php curl 保持会话

楼主的思路问题不大,但是服务端不支持你想什么办法都没用,最好是服务端能支持令牌(token)模式,否则在安全机制的作用下用curl是维持不了你所说的长连接的。
关于会话模式,通常所说的回话模式并不等同于持久连接,php发起的curl会话的生命周期是当前的php进程而已。这么打个比方吧,你通过a.php完成了登录,然后b.php想使用刚才拿到的认证继续工作,相当于在ie窗口登录,然后在firefox浏览器继续工作,服务器端当然不认可了。
何况我用你提供的账号实验了一下,登录之后会进入到 http://sms.huhutv.com.cn/rtcrm-clientweb/npage/base/pub/pub0010/Pub0010Controller-initMainPage.gv 这个页面,然后关掉页面并打开一个新的标签页,粘贴这个地址后直接就报错了,说 “非法进入系统”,可是偏偏重新登录的时候又提示您的账号已经登录。
呵呵,服务端自己的登录/认证处理都工作不正常,你搞curl持久连接又怎么可能成功。

⑵ PHP如何开启CURL扩展支持

开启curl扩展,这需要修改PHP的配置,在Windows 中只需简单三步:

  1. 将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下。

3、重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。

⑶ php curl默认链接超时时间是多少

HTTP1.0与HTTP1.1的一个很大的差别是HTTP1.1支持长连接。现实中有很多这个场景,就是请求了一个页面,然后这个页面的其他内容,例如CSS文件,JS文件都要从同一个服务(相同服务器,相同端口)上面获取。这些向相同服务器的请求如果能够复用连接,是很有利于提供网络性能。
总的来说,复用HTTP连接有两个好处:
1. 节省系统端口资源(每一次连接都要使用端口,端口的资源是有限的)
2. 节省创建socket连接的时间。

下面讲讲在PHP下面,如何使用CURL来复用连接:
curl是在一个handle里面复用连接的,所以这样就可以复用连接了:
$ch = curl_init();
$ret = curl_exec($ch);
......
$ret2 = curl_exec($ch);
....
curl_close($ch);
在初始化跟关闭$ch资源时即可复用连接。

我这里写了两个函数,可以支持GET跟POST的请求,大家感兴趣可以看看。

function curl_get($url, $timeout=5) {
global $g_handle;
if (empty($g_handle)) $ch = curl_init();

$options = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FRESH_CONNECT => false,
CURLOPT_FORBID_REUSE => false,
CURLOPT_TIMEOUT => $timeout
);
curl_setopt_array($g_handle, $options);

$ret = curl_exec($g_handle);
return $ret;
}

// 可以支持POST数据,$post是一个数组,$timeout是超时时间。
function curl_post($url, $post=array(), $timeout=10) {
global $g_handle;
if (empty($g_handle)) $g_handle = curl_init();

$options = array(
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FRESH_CONNECT => false,
CURLOPT_FORBID_REUSE => false,
CURLOPT_TIMEOUT => $timeout,
CURLOPT_POSTFIELDS => http_build_query($post)
);
if (empty($post)) $options[CURLOPT_POST] = false;

curl_setopt_array($g_handle, $options);

$ret = curl_exec($g_handle);
return $ret;
}

linux下xampp集成环境中怎么为php添加curl扩展

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。

在xampp集成环境中,curl自带,只不过默认关闭。

vim/etc/php.ini

注:此处的/etc/php.ini 请找到自己的php.ini路径

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

然后找到:

;extension=php_curl.dll

在Vim下搜索字符串方法如下:

1、命令模式下输入“/字符串”,例如“/Section 3”。

2、如果查找下一个,按“n”即可。

要自当前光标位置向上搜索,请使用以下命令:

/pattern Enter

将;extension=php_curl.dll的注释去掉,保存退出

:x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

最后重启服务即可

service httpd restart

阅读全文

与phpcurl长连接相关的资料

热点内容
威联通套件编译 浏览:231
清刻pdf 浏览:982
可编程延时发生器 浏览:93
滨州用服务器织梦要怎么上传文件 浏览:866
java7与java8 浏览:958
真空压缩袋什么材质好 浏览:935
excel批量见建文件夹 浏览:556
黑马程序员就业班笔记 浏览:370
单片机供电自锁电路设计 浏览:56
pythongui测试工具 浏览:834
哈曼l7功放编程 浏览:218
体温单片机 浏览:613
快捷键命令不能用了 浏览:347
边界层加密网格优点 浏览:236
linuxvi保存文件 浏览:535
把视频打包出文件夹是什么意思 浏览:446
如何在藏书馆app上注销账号 浏览:826
51单片机架构 浏览:897
安卓下载东西怎么弄 浏览:525
我的世界服务器地址13 浏览:313