2012-04-19 70 views
2

我在php中使用CURL請求時遇到問題。問題是在隨機時間它返回一個超時。我注意到,在我添加自定義錯誤頁面後,404自定義頁面可以正常工作,但是使用捲曲完成後,408頁面不會返回任何內容。 404頁的隨機408在PHP中使用CURL的http代碼

例子:http://emailingrestauraweb.com/qweqwe

下面是我的PHP代碼:

$strCookie = 'PHPSESSID=' . $this->SessionID; 
$curl_log = fopen("curl.txt", 'w'); 
//Setup connection 
$curl = curl_init(); 
curl_setopt_array($curl,array(
     CURLOPT_URL => $URL, 
     CURLOPT_USERAGENT=>$this->UserAgent, 
     CURLOPT_POST =>true, 
     CURLOPT_POSTFIELDS => http_build_query($arrParams, null, '&'), 
     CURLOPT_COOKIE => $strCookie, 
     CURLOPT_COOKIESESSION=>1, 
     CURLOPT_HEADER => 1, 
     CURLOPT_VERBOSE   => 0,   // Logs verbose output to STDERR 
     CURLOPT_SSL_VERIFYPEER => 0,   // Do not verify certificate 
     CURLOPT_TIMEOUT => 300, 
     CURLOPT_CONNECTTIMEOUT=>260, 
     CURLOPT_NOSIGNAL => 1, 
     CURLOPT_RETURNTRANSFER=>1 
    )); 

    //Send request 
    $result_json = curl_exec($curl); 
    $error_code =curl_getinfo($curl, CURLINFO_HTTP_CODE); 
    curl_close($curl); 

我什麼都試過了我不知道爲什麼發生這種情況,它是隨機的了。

UPDATE 1

我在2個slicehost切片上運行腳本。我從一個切片到另一個切片請求一個API。 api是用於發送電子郵件的OEMPRO軟件。 據我所知,408意味着超時,但這似乎是隨機的,大部分時間它是重複的像塊,我想知道這可能是該軟件可能使用的東西。

這個問題我的域名後,發生的地點OEMPRO正在運行樣3天時失效,然後回去,現在我有這個問題...

感謝所有的答案。

+0

408是一個超時...你知道這個,對吧? – HappyTimeGopher 2012-04-19 22:20:25

+0

這些錯誤頁面也是PHP嗎?任何htaccess以及? – HappyTimeGopher 2012-04-19 22:21:30

+0

是的,我知道408是超時。問題是如果你爲超時定義一個錯誤頁面,那麼爲什麼不顯示。這可能是我捲毛中的錯誤嗎?這就是我想知道的真誠。 – 2012-04-20 08:43:59

回答

1

你說你的域名已過期3天。這很可能是一個DNS解決問題。給它24-48小時,讓我們知道是否有任何改變。

+0

是的,這是真的今天似乎錯誤不會發生,我經常會嘗試進一步,看看如果不是這樣似乎是408的答案。謝謝。 – 2012-04-20 11:48:52

0

408通常不會返回(包含)響應主體。服務器只是希望關閉連接,而不再需要緩慢的請求。

當然,標準允許傳遞一個body,而且如果你認爲它是保守的,它甚至應該返回該實體來解釋,但是,不要依賴它。無論如何沒有任何消息。改爲重試請求。

+0

這絕對不是真的。我408可能會返回一個響應主體,在規範中不允許這樣做:http://tools.ietf.org/html/rfc2616#section-10.4.9 – Evert 2012-04-19 22:20:15

+0

我經常寫。當然可以。但我不會懷疑是否。 – hakre 2012-04-19 22:21:15

+0

只有在你編輯:) – Evert 2012-04-20 00:05:52