国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

php中socket實現(xiàn)GET與POST異步提交數(shù)據(jù)

2024-05-04 21:47:46
字體:
供稿:網(wǎng)友

在使用php socket時我們需要先開啟socket擴展了,我們可以使用phpinfo();查看是否開啟了socket擴展,否則在php.ini中開啟了,如果沒有開啟我們可以參考下面方法來設(shè)置.

windows 系統(tǒng)中socket擴展

windows 下可以直接修改php.ini 文件 去掉extension=php_sockets.dll 前面的分號重啟就OK了

在linux下給PHP安裝socket擴展,代碼如下:

  1. #cd /home/php5.2.1/ext/sockets 
  2. #/server/php/bin/phpize  
  3. #./configure --prefix=/usr/local/php/lib --with-php-config=/server/php/bin/php-config --enable-sockets 
  4. #make 
  5. #make install 
  6. 再修改/usr/local/php/etc/php.ini文件 
  7. #extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" (php5.4版本以上不用加擴展路徑) 
  8. extension=sockets.so 

重啟apache,好了都好了下面就開始吧,代碼如下:

  1. //POST提交 
  2. function socketPost($url,$data){ 
  3. $postStr = ''
  4. $postLen = ''
  5. $out = ''
  6. //解析域 
  7. $urlInfo = parse_url($url); 
  8. $host = $urlInfo['host']; 
  9. if(!isset($urlInfo['query'])) $urlInfo['query'] =''
  10. $path = $urlInfo['path'].'?'.$urlInfo['query']; 
  11. //組織數(shù)據(jù) 
  12. foreach($data as $key=>$value){ 
  13. $postStr .=$key.'='.rawurlencode($value).'&';#這里需要對post的值進行編碼,否則會出現(xiàn)中斷 
  14. $postStr = trim($postStr,"&"); 
  15.  
  16. $postLen = strlen($postStr); 
  17. $fp = fsockopen($host, 80, $errno$errstr, 3); 
  18. if ($fp) { 
  19.     
  20. $out .="POST ".$path." HTTP/1.0\r\n"
  21. $out .="Host: ".$host."\r\n"
  22. $out .= "Content-type: application/x-www-form-urlencoded\r\n"
  23. $out .= "Content-Length: ".$postLen."\r\n";   #這里最好加上Connection: close 
  24. $out .= "\r\n"
  25. $out .= $postStr
  26. fwrite($fp$out); 
  27. fclose($fp); 

使用方法,代碼如下:

  1. socketPost("提交的地址",array("username"=>"這里是post的username","password"=>321312312)); 
  2. function socketGet($url){ 
  3. $urlInfo = parse_url($url); 
  4. $host = $urlInfo['host']; 
  5. if(!isset($urlInfo['query'])) $urlInfo['query'] =''
  6. $path = $urlInfo['path'].'?'.$urlInfo['query']; 
  7. $fp = fsockopen($host, 80, $errno$errstr, 3); 
  8. if ($fp) { 
  9. //調(diào)用模塊進行抓取信息 
  10. $out = "GET {$path} / HTTP/1.1\r\n"
  11. $out .= "Host: {$host}\r\n"
  12. $out .= "Connection: Close\r\n\r\n"
  13. fwrite($fp$out); 
  14. fclose($fp); 

使用方法:socketGet("url");工作需要封裝好方法方便同事調(diào)用.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥城市| 库伦旗| 兰考县| 武强县| 清新县| 涟源市| 岳阳县| 鄂托克前旗| 尼勒克县| 彭州市| 元朗区| 金溪县| 东源县| 北海市| 西昌市| 剑川县| 曲麻莱县| 肃宁县| 灵石县| 侯马市| 吴江市| 遵义县| 长垣县| 顺平县| 噶尔县| 花垣县| 镇宁| 长春市| 南部县| 德兴市| 民乐县| 辰溪县| 贵州省| 永寿县| 龙口市| 孝感市| 辉南县| 佛教| 巴里| 仙桃市| 四子王旗|