千家信息网

数据抓取使用HTTP代理ip代码示例

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,HTTP Proxy Demo 代码1、Python#! -*- encoding:utf-8 -*-import requests# 要访问的目标页面targetUrl = "http://ip.h
千家信息网最后更新 2025年01月31日数据抓取使用HTTP代理ip代码示例

HTTP Proxy Demo 代码

1、Python

#! -*- encoding:utf-8 -*-import requests# 要访问的目标页面targetUrl = "http://ip.hahado.cn/ip"# 代理服务器proxyHost = "ip.hahado.cn"proxyPort = "39010"# 代理隧道验证信息proxyUser = "username"proxyPass = "password"proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {    "host" : proxyHost,    "port" : proxyPort,    "user" : proxyUser,    "pass" : proxyPass,}proxies = {    "http"  : proxyMeta,    "https" : proxyMeta,}resp = requests.get(targetUrl, proxies=proxies)print resp.status_codeprint resp.text

2、C Sharp

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://ip.hahado.cn/ip");WebProxy myProxy = new WebProxy();Uri newUri = new Uri("http://ip.hahado.cn:39010");myProxy.Address = newUri;myProxy.Credentials = new NetworkCredential("username", "password");request.Proxy = myProxy;

3、PHP

// 要访问的目标页面$targetUrl = "http://ip.hahado.cn/ip";//$targetUrl = "http://ip.hahado.cn/switch-ip";//$targetUrl = "http://ip.hahado.cn/current-ip";// 代理服务器define("PROXY_SERVER", "ip.hahado.cn:39010");// 隧道身份信息define("PROXY_USER", "username");define("PROXY_PASS", "password");$proxyAuth = base64_encode(PROXY_USER . ":" . PROXY_PASS);$headers = implode("\r\n", [    "Proxy-Authorization: Basic {$proxyAuth}",    "Proxy-Switch-Ip: yes",]);$options = [    "http" => [        "proxy"  => $proxyServer,        "header" => $headers,        "method" => "GET",    ],];$context = stream_context_create($options);$result = file_get_contents($url, false, $context);var_dump($result);

4、JAVA

import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.Authenticator;import java.net.HttpURLConnection;import java.net.InetSocketAddress;import java.net.PasswordAuthentication;import java.net.Proxy;import java.net.URL;class ProxyAuthenticator extends Authenticator {    private String user, password;    public ProxyAuthenticator(String user, String password) {        this.user     = user;        this.password = password;    }    protected PasswordAuthentication getPasswordAuthentication() {        return new PasswordAuthentication(user, password.toCharArray());    }}/** * 注意:下面代码仅仅实现HTTP请求链接,每一次请求都是无状态保留的,仅仅是这次请求是更换IP的,如果下次请求的IP地址会改变 * 如果是多线程访问的话,只要将下面的代码嵌入到你自己的业务逻辑里面,那么每次都会用新的IP进行访问,如果担心IP有重复, * 自己可以维护IP的使用情况,并做校验。 */public class ProxyDemo {    public static void main(String args[]) throws Exception {        // 要访问的目标页面        String targetUrl = "http://ip.hahado.cn/ip";        //String targetUrl = "http://ip.hahado.cn/switch-ip";        //String targetUrl = "http://ip.hahado.cn/current-ip";        // 代理服务器        String proxyServer = "ip.hahado.cn";        int proxyPort      = 39010;        // 代理隧道验证信息        String proxyUser  = "username";        String proxyPass  = "password";        try {            URL url = new URL(targetUrl);            Authenticator.setDefault(new ProxyAuthenticator(proxyUser, proxyPass));            // 创建代理服务器地址对象            InetSocketAddress addr = new InetSocketAddress(proxyServer, proxyPort);            // 创建HTTP类型代理对象            Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);            // 设置通过代理访问目标页面            HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);            // 设置IP切换头            connection.setRequestProperty("Proxy-Switch-Ip","yes");            // 解析返回数据            byte[] response = readStream(connection.getInputStream());            System.out.println(new String(response));        } catch (Exception e) {            System.out.println(e.getLocalizedMessage());        }    }    /**     * 将输入流转换成字符串     *     * @param inStream     * @return     * @throws Exception     */    public static byte[] readStream(InputStream inStream) throws Exception {        ByteArrayOutputStream outSteam = new ByteArrayOutputStream();        byte[] buffer = new byte[1024];        int len = -1;        while ((len = inStream.read(buffer)) != -1) {            outSteam.write(buffer, 0, len);        }        outSteam.close();        inStream.close();        return outSteam.toByteArray();    }}

5、golang

package mainimport (    "net/url"    "net/http"    "bytes"    "fmt"    "io/ioutil")const ProxyServer = "ip.hahado.cn:39010"type ProxyAuth struct {    License string    SecretKey string}func (p ProxyAuth) ProxyClient() http.Client {    proxyURL, _ := url.Parse("http://" + p.License + ":" + p.SecretKey + "@" + ProxyServer)    return http.Client{Transport: &http.Transport{Proxy:http.ProxyURL(proxyURL)}}}func main()  {    targetURI := "http://ip.hahaod.cn/ip"    //targetURI := "http://ip.hahaod.cn/switch-ip"    //targetURI := "http://ip.hahaod.cn/current-ip"    // 初始化 proxy http client    client := ProxyAuth{License: "username", SecretKey: "password"}.ProxyClient()    request, _ := http.NewRequest("GET", targetURI, bytes.NewBuffer([] byte(``)))    // 切换IP (只支持 HTTP)    request.Header.Set("Proxy-Switch-Ip", "yes")    response, err := client.Do(request)    if err != nil {        panic("failed to connect: " + err.Error())    } else {        bodyByte, err := ioutil.ReadAll(response.Body)        if err != nil {            fmt.Println("读取 Body 时出错", err)            return        }        response.Body.Close()        body := string(bodyByte)        fmt.Println("Response Status:", response.Status)        fmt.Println("Response Header:", response.Header)        fmt.Println("Response Body:\n", body)    }}    更多代理设置教材请复制连接打开:https://v.duoip.cn/customer/signup/?sale=xujinyang1991
代理 服务器 目标 页面 服务 代码 信息 隧道 地址 对象 切换 验证 数据 业务 字符 字符串 情况 教材 更多 状态 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 王者荣耀换服务器后还能开黑吗 数据储存用什么服务器 网络安全风险识别与防护指南 服务器碟机 二萌老师apex在哪个服务器 数据库挖掘哪三种分类 青少年网络安全意识不够 计算机网络技术条件 学软件开发一般需要多久 visio 导出数据库 出库软件数据库怎么安装 软件开发战略框架协议 数据库为什么汉字是问号 中国电信服务器折旧年限 网络安全宣传周主要活动内容 gis数据库导入出错怎么办 数据库怎样添加字段类型 网络安全法是什么时候发布 描述面向对象软件开发思想 数据库查询缺考的学生 网络安全局的电话号码 米虫网络安全手抄报 网络安全法施行首日宣传 魔法卡片网络安全 h3c塔式服务器 智慧城管软件开发专业制作 软件开发由作坊式向工程化转变 武汉有软件开发的互联网公司 重大网络安全事项报告制度 搜狐网络安全构建和谐校园手抄报
0