最近由於要用到一些模擬提交get和post請求的功能.之前通常用3種方式實現javascript
一、使用fsocket函數,經過socket連接 構造http頭的方式實現.比較原始,http頭的構造每每須要寫大段的字符串代碼.php
二、使用一些開源的http模擬類淚如 snoopy等java
三、利用php的curl擴展. json
後兩種方法都會帶來額外的系統開銷.使用curl則還有一堆複雜的參數須要設定.app
其實從php5.0之後開始file_get_contents函數就增長了context的支持.curl
那麼構造一個模擬的http請求,就很是簡單了.socket
$context['http'] = array( 函數
'method' => 'POST',oop
'header' => "Accept:application/json, text/javascript, */*; q=0.01\r\n".post
"Accept-Charset:GBK,utf-8;q=0.7,*;q=0.3\r\n".
......
'content'=>''
'timeout'=>5
);
file_get_contents($url,task, false, stream_context_create($context))
那麼一個簡單的http post請求就完成了