各种语言编程示例

以下是百变IP-Proxy(统一入口,免提取,设置白名单即可使用)编程示例,以下demo仅供参考,其他产品请参考各产品文档。

  1. PHP语言接入教程

    PHP如果是使用curl函数来抓取,主要设置下面几项即可。
    curl_setopt($ch, CURLOPT_PROXY, 'proxy.baibianip.com'); //代理服务器地址 curl_setopt($ch, CURLOPT_PROXYPORT, '8000'); //代理服务器端口 如果是抓取HTTPS,把下面两项设置为false: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //抓HTTPS可以把此项设置为false curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //抓HTTPS可以把此项设置为false 完整示例代码如下,下面提供两种方式来调用:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    //方式一:利用PHP的CURL函数库通过Proxy进行请求
    function curl_via_proxy($url) {
        $user_agent 'curl';
        $ch = curl_init($url); //创建CURL对象  
        curl_setopt($ch, CURLOPT_HEADER, 0); //返回头部  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回信息  
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); //连接超时时间
        curl_setopt($ch, CURLOPT_TIMEOUT, 5); //读取超时时间
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //对认证证书来源的检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //从证书中检查SSL加密算法是否存在
        curl_setopt($ch, CURLOPT_PROXY, 'proxy.baibianip.com'); //代理服务器地址
        curl_setopt($ch, CURLOPT_PROXYPORT, '8000'); //代理服务器端口
        curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
        $res = curl_exec($ch);
        $curl_errno = curl_errno($ch);
        if ($curl_errno) {
            curl_close($ch);
            return false;
        }
        curl_close($ch);
        return $res;
    }
    1
    2
    3
    //方式二:利用PHP调用Linux的curl命令来进行抓取,Windows下下载curl.exe即可。
    $html = shell_exec("curl -x 'proxy.baibianip.com:8000' 'http://www.baidu.com' --connect-timeout 3 -m 5");
    echo $html;
    如果是使用动态代理或者开放代理,则需要先通过API提取代理IP列表,然后使用即可。
  2. Python语言接入教程

    如果在Python中使用urlopen,则可以仿照下面的方式使用即可。
    1
    2
    3
    4
    5
    #coding:utf-8  
    from urllib.request import urlopen  
    proxies = {'http''http://proxy.baibianip.com:8000'}
    handle = urllib.urlopen('http://www.baidu.com', proxies=proxies)
    print(handle.read().decode('utf-8'))
  3. Linux下curl命令接入

    如果使用curl命令,可以直接类似下面的方式调用即可:
    1
    curl -x 'proxy.baibianip.com:8000' 'http://www.baidu.com'  --connect-timeout -m 5
  4. Java语言接入教程

    Java中有很多类库,可以根据你的实际情况自己选择,下面给出3个简单示例。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //方式一,设置System系统属性
    System.getProperties().setProperty("proxySet""true");       
    System.getProperties().setProperty("http.proxyHost""proxy.baibianip.com");  
    System.getProperties().setProperty("http.proxyPort""8000");  
     
    HttpUrlConnection connection = (HttpUrlConnection)new URL("http://www.baidu.com/").openConnection();  
    connection.setConnectTimeout(3000); //设置连接超时为3秒 
    connection.setReadTimeout(5000);  //设置读取超时为5秒
    connection.setUseCaches(false);  
     
    if(connection.getResponseCode == 200){  
        System.out.println("使用代理连接网络成功");  
    }  
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    方式二,使用java.net.Proxy类
    Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.baibianip.com"8000);       
    HttpUrlConnection connection = (HttpUrlConnection)new URL("http://www.baidu.com/").openConnection(proxy);  
    connection.setConnectTimeout(3000); // 3s  
    connection.setReadTimeout(5000);  
    connection.setUseCaches(false);  
     
    if(connection.getResponseCode == 200){  
        System.out.println("使用代理连接网络成功");  
    }  
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    方式三,使用gargoylesoftware类
    import com.gargoylesoftware.htmlunit.BrowserVersion;
    import com.gargoylesoftware.htmlunit.Page;
    import com.gargoylesoftware.htmlunit.ProxyConfig;
    import com.gargoylesoftware.htmlunit.WebClient;
    import com.gargoylesoftware.htmlunit.WebResponse;
    import com.gargoylesoftware.htmlunit.html.HtmlPage;
    import com.gargoylesoftware.htmlunit.util.NameValuePair;
     
    WebClient client = new WebClient(versions[(int)(versions.length * Math.random())]);
    ProxyConfig proxyConfig = new ProxyConfig('proxy.baibianip.com',8000);
    client.getOptions().setProxyConfig(proxyConfig);
    Page page = client.getPage("http://www.baidu.com/");
    WebResponse response = page.getWebResponse();
  5. 其他语言接入

    所有语言或者工具比如casperjs等,都大同小异,在发送HTTP请求的地方肯定有设置proxy的地方。
  6. 在浏览器或者软件中使用

    如果是在浏览器(比如Chrome,IE等)中使用,则在Internet Explorer设置系统代理即可。
    在IE菜单中找到,“工具” -> “Internet选项” -> “连接” -> “局域网设置” -> “代理服务器”,设置即可。