php中用來可以做非同步呼叫的程式碼
static public function getAsn( $url , $errno = '' , $errstr = '' , $time_out = 5) { //移除url中的空格,如果可以格式化url,或許會更好 $url = str_replace ( ' ' , '' , $url ); $arr = parse_url ( $url ); $arr [ 'port' ] || $arr [ 'port' ] = 80; $fp = fsockopen ( $arr [ 'host' ], $arr [ 'port' ], $errno , $errstr , $time_out ); if (! $fp ) { return $errno . " " . $errstr ; } $arr [ 'query' ] && $arr [ 'query' ] = '?' . $arr [ 'query' ]; $out = "GET " . $arr [ 'path' ]. $arr [ 'query' ]. " HTTP/1.1rn" ; $out .= "Host: " . $arr [ 'host' ]. "rn" ; $out .= "Connection: Closernrn" ; fwrite( $fp , $out ); fclose( $fp ); }
static function postAsn( $url , $post_arr , $errno = '' , $errstr = '' , $time_out = 5) { $arr = parse_url ( $url ); $arr [ 'port' ] || $arr [ 'port' ] = 80; $fp = fsockopen ( $arr [ 'host' ], $arr [ 'port' ], $errno , $errstr , $time_out ); if (! $fp ) { return $errno . " " . $errstr ; } $post_data = "" ; if ( $post_arr ){ //在這裡還可以使用 http_build_query() 函式,將post的內容編碼 foreach ( $post_arr as $key => $val ){ $post_data .= urlencode( $key ) . "=" . urlencode( $val ). "&" ; } $post_data = substr ( $post_data , 0,-1); } $data_len = strlen ( $post_data ); $arr [ 'query' ] && $arr [ 'query' ] = '?' . $arr [ 'query' ]; $out = "POST " . $arr [ 'path' ]. $arr [ 'query' ]. " HTTP/1.1rn" ; $out .= "Host: " . $arr [ 'host' ]. "rn" ; $out .= "Content-type:application/x-www-form-urlencodedrn" ; $out .= "Connection: Closern" ; $out .= "Content-Length:$data_lenrnrn" ; $out .= $post_data . "rn" ; fwrite( $fp , $out ); fclose( $fp ); }
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4548/viewspace-2810890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php做的WebService用axis呼叫不到PHPWeb
- PHP非字母數字の程式碼PHP
- Dubbo原始碼分析(十)同步呼叫與非同步呼叫原始碼非同步
- zan正式開源,非同步+非阻塞的PHP框架非同步PHP框架
- PHP根據wsdl生成呼叫soapwebservice程式碼PHPWeb
- 終於可以愉快的擼Java非同步程式碼了!Java非同步
- 一直讓 PHP 程式設計師懵逼的同步阻塞非同步非阻塞,終於搞明白了PHP程式設計師非同步
- 編寫還可以的php 圖片上傳類程式碼PHP
- php頁面巢狀html程式碼,,html中js呼叫php中的陣列PHP巢狀HTMLJS陣列
- 使用PHP指令碼來寫Daemon程式PHP指令碼
- 可以直接拿來用的15個jQuery程式碼片段jQuery
- C#在類中用呼叫Form的方法C#ORM
- Socket程式設計中的同步、非同步、阻塞和非阻塞(轉)程式設計非同步
- struct的tag到底可以用來做什麼?Struct
- 幾個可以來做cassandra效能評測的工具
- IBM WorkFlow可以呼叫不同的應用(程式)IBM
- 在PHP中用協同程式實現合作多工PHP
- php非同步程式設計PHP非同步程式設計
- PHP 並非好的入門程式語言PHP
- 讓javascript中用innerHMTL新增的指令碼執行起來(轉)JavaScript指令碼
- 同步、非同步、阻塞、非阻塞的區別非同步
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- Java可以做什麼及可以給我們帶來什麼?Java
- 非同步呼叫和同步呼叫 及 spring的@Async註解非同步Spring
- 可以用WebRTC來做視訊直播嗎?Web
- 寫程式碼有這16個好習慣,可以減少80%非業務的bug
- 直接拿來用 10個PHP程式碼片段PHP
- 執行效率高的程式碼-可以這樣寫出來~
- 使用 Async / Await 來編寫簡明的非同步程式碼AI非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 同步、非同步、阻塞、非阻塞的簡單理解非同步
- 同步與非同步、阻塞與非阻塞的理解非同步
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步