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非字母數字の程式碼PHP
- Dubbo原始碼分析(十)同步呼叫與非同步呼叫原始碼非同步
- 終於可以愉快的擼Java非同步程式碼了!Java非同步
- 一直讓 PHP 程式設計師懵逼的同步阻塞非同步非阻塞,終於搞明白了PHP程式設計師非同步
- php非同步程式設計PHP非同步程式設計
- PHP 並非好的入門程式語言PHP
- 非同步呼叫和同步呼叫 及 spring的@Async註解非同步Spring
- 使用 Async / Await 來編寫簡明的非同步程式碼AI非同步
- linux中用shell指令碼對tomcat和nginx做日誌切割Linux指令碼TomcatNginx
- 同步、非同步、阻塞、非阻塞的區別非同步
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- struct的tag到底可以用來做什麼?Struct
- JNI:Java程式碼呼叫原生程式碼Java
- Python中用來排序的方法sort、sortedPython排序
- 程式執行緒、同步非同步、阻塞非阻塞、併發並行執行緒非同步並行
- 併發-0-同步/非同步/阻塞/非阻塞/程式/執行緒非同步執行緒
- 聊聊執行緒與程式 & 阻塞與非阻塞 & 同步與非同步執行緒非同步
- Qt中用C++呼叫Python檔案的三種方法QTC++Python
- [譯] 非同步程式設計:阻塞與非阻塞非同步程式設計
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- swoft程式碼同步
- 執行效率高的程式碼-可以這樣寫出來~
- 在 PBootCMS 中,使用 {php} 和 {eval} 標籤可以在模板中執行 PHP 程式碼bootPHP
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 寫程式碼有這16個好習慣,可以減少80%非業務的bug
- async-helper,一個 PHP 的非同步程式助手PHP非同步
- 同步阻塞、同步非阻塞、多路複用的介紹
- Swoole+Lumen:同步程式設計風格呼叫MySQL非同步查詢程式設計MySql非同步
- 可以用WebRTC來做視訊直播嗎?Web
- 跨鏈橋可以用來做什麼?
- 不懂程式碼?沒關係,照樣可以做SaaS軟體開發
- 什麼是PHP或PHP程式碼以及PHP程式設計的工作原理PHP程式設計
- PHP 程式碼安全PHP
- php程式怎麼做到非同步執行PHP非同步