[最佳化效能]求高手精簡curl的使用配置,該怎麼解決

來源:互聯網
上載者:User
[最佳化效能]求高手精簡curl的使用配置
我有個curl程式,由於是curl到國外某台web service上面,由於操作時間過長,有時候可能需要10秒左右才能完成,我在想能否將curl裡的代碼精簡一下?不必要的去掉。

但是我又不敢亂減,先貼一下我的curl的代碼,有沒有高手幫忙看看哪幾行代碼可以去掉不影響使用的?

PHP code
        #POST方法        $curl = curl_init($url);        curl_setopt( $curl, CURLOPT_POST, 1 );        curl_setopt( $curl, CURLOPT_POSTFIELDS, $data );        curl_setopt( $curl, CURLOPT_HEADER, 0 );        curl_setopt( $curl, CURLOPT_RETURNTRANSFER , 1 );        $response = curl_exec($curl);        #GET方法        $curl = curl_init($url);        curl_setopt( $curl, CURLOPT_GET, 1 );        curl_setopt( $curl, CURLOPT_GETFIELDS);        curl_setopt( $curl, CURLOPT_HEADER, 0 );         curl_setopt( $curl, CURLOPT_RETURNTRANSFER , 1 );        $response = curl_exec($curl);


------解決方案--------------------
lz代碼已經夠精簡了,效率問題可能出現在網路或者io上
------解決方案--------------------
我認為你的問題不是精簡,而是要加點什麼
比如
CURLOPT_USERAGENT
CURLOPT_REFERER

這樣才能讓對方認為你是一個合法的瀏覽者,而積極為你服務
------解決方案--------------------

curl_setopt( $curl, CURLOPT_RETURNTRANSFER , 1 );也可以去掉?這個看你具體需要做什麼。有的可能有用,有的可能沒用
------解決方案--------------------
CURLOPT_HEADERTRUE to include the header in the output.

CURLOPT_RETURNTRANSFERTRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.

這兩個參數是對整個請求的影響是0,只是是否自動輸出到標準輸出的意思。樓主的代碼沒有可以精簡的了。

網速慢是沒有辦法解決的,路過。
------解決方案--------------------
加上下面兩個,或許可以加速

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: www.domain.com'));//設定http header。www.domain.com為被你抓取的網站網域名稱。

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");//類比瀏覽器
------解決方案--------------------
在美國租個空間來curl美國的內容才是解決問題的根本.就算香港的主機訪問美國也要比大陸強多了.
各種關鍵詞過濾,不慢都慢了.
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.