虚拟服务器在php curl代码中阻止代理

时间:2018-01-10 16:01:44

标签: php curl proxy server

我使用curl获取我网站的信息。到目前为止,这适用于以下PHP代码:

$options = array(

            CURLOPT_URL             => $url, 

            CURLOPT_HTTPGET         => true,            
            CURLOPT_IPRESOLVE       => CURL_IPRESOLVE_V4 ,       
            CURLOPT_PROXYTYPE       => 7,               
            CURLOPT_COOKIEJAR       => "session/cookie1.txt",   
            CURLOPT_RETURNTRANSFER => true,   
            CURLOPT_HEADER         => true, 
            CURLOPT_FOLLOWLOCATION => true,   
            CURLOPT_ENCODING       => "",    
            CURLOPT_AUTOREFERER    => true,  
            CURLOPT_CONNECTTIMEOUT => 120,  
            CURLOPT_TIMEOUT        => 120,  
            CURLOPT_MAXREDIRS      => 10,   
            CURLINFO_HEADER_OUT    => true,
            CURLOPT_SSL_VERIFYPEER => false,  
            CURLOPT_SSL_VERIFYHOST  => false, 
            CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
            CURLOPT_COOKIE         => $cookiesIn,
            CURLOPT_VERBOSE        => true,  

            CURLOPT_PROXY          => $proxyIP, 
            CURLOPT_PROXYPORT       => $proxyPORT, 
            CURLOPT_CUSTOMREQUEST   => "GET", 

            CURLOPT_HTTPPROXYTUNNEL => false, 


            CURLOPT_DNS_CACHE_TIMEOUT       => 2 
        );

        $ch      = curl_init( $url );


        curl_setopt_array( $ch, $options );
        $rough_content = curl_exec( $ch );
        $err     = curl_errno( $ch );
        $errmsg  = curl_error( $ch );
        $header  = curl_getinfo( $ch );
        curl_close( $ch );

它一直有效,但由于我在customrequest中添加了GET参数,因此我无法在服务器上获得任何结果(Win2008)。在服务器上运行它不会导致错误或任何消息。它只是被无限制地执行(因为我希望得到一个有用的错误消息,所以有几页正在运行)。在笔记本电脑上运行时,根本没有问题,可以检索所有信息。

有谁知道哪个参数导致问题?它不能代理服务器,因为它在我的笔记本电脑上正常工作。所以我想这是一个DNS问题,但我不知道是什么导致了这个问题,或者我怎么能避免它。

0 个答案:

没有答案