訪問http方式很多,可以使用curl, socket, file_get_contents() 等方法。
在訪問http時,需要考慮超時的問題。
curl訪問http:
curl 是常用的訪問http協議介面的lib庫,效能高,還有一些併發支援的功能等。
curl_setopt($ch, opt) 可以設定一些超時的設定,主要包括:
① (重要) curlopt_timeout 設定curl允許執行的最長秒數。
② (重要) curlopt_timeout_ms 設定curl允許執行的最長毫秒數。
(在curl 7.16.2中被加入。從php 5.2.3起可使用)
③ curlopt_connecttimeout 在發起連線前等待的時間,如果設定為0,則無限等待。
④ curlopt_connecttimeout_ms 嘗試連線等待的時間,以毫秒為單位。如果設定為0,則無限等待。 (在curl 7.16.2中被加入。從php 5.2.3開始可用)
⑤ curlopt_dns_cache_timeout 設定在記憶體中儲存dns資訊的時間,預設為120秒。
1. curl普通秒級超時:
複製** **如下:
$ch = curl_init();
curl_setopt($ch, curlopt_url,$url);
curl_setopt($ch, curlopt_returntransfer,1);
curl_setopt($ch, curlopt_timeout,60); //只需要設定乙個秒的數量就可以
2. curl普通秒級超時使用:
複製** **如下:
curl_setopt($ch, curlopt_timeout,60);
3. curl如果需要進行毫秒超時,需要增加:
複製** **如下:
curl_easy_setopt(curl, curlopt_nosignal,1l);
//或者
curl_setopt ( $ch, curlopt_nosignal,true);//支援毫秒級別超時設定
Linux下CURL設定請求超時時間
連線超時時間用 connect timeout引數來指定,資料傳輸的最大允許時間用 m引數來指定。例如 curl connect timeout 10 m 20 http x 連線超時的話,出錯提示形如 curl 28 connect timed out 資料傳輸的最大允許時間超時的話,出錯提示形如...
設定ssh超時時間
方法一 最近公司剛剛買了一台hyper v的vps,但是連線ssh伺服器剛剛離開一會就斷開,不得不需要反覆連線伺服器,為了使ssh伺服器可以保持足夠的連線時間,大家可以按以下方法設定 基於安全的理由,如果使用者連線到 ssh server 後閒置,ssh server 會在超過特定時間後自動終止 s...
ssh設定超時時間
ssh連線超時問題解決方案 1.修改server端的etc ssh sshd config clientaliveinterval 60 server每隔60秒傳送一次請求給client,然後client響應,從而保持連線 clientalivecountmax 3 server發出請求後,客戶端沒...