数据抓取使用HTTP代理ip代码示例
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,HTTP Proxy Demo 代码1、Python#! -*- encoding:utf-8 -*-import requests# 要访问的目标页面targetUrl = "http://ip.h
千家信息网最后更新 2025年12月04日数据抓取使用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.text2、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安全错误
数据库的锁怎样保障安全
安网络安全工作目标包括
数据库中的dbl
苹果服务器恢复要多久
腾讯的大数据库在哪里
网络安全微信群管理措施
服务器管理难不难
多台服务器磁盘集群
linux数据库入门教程学习
雅达电力监控需要什么数据库
怎么备份数据库中的数据
软件开发人员怎么入职培训
数据库怎么创建spl表
交易数据库 外汇交易中心
软件测试中数据库技术
网络安全周安安
设备数据库建设方案
1.17.1我的世界服务器生存
impdp导入整个数据库
rmysql导出数据库
柯美413服务器怎么改日期
dbs服务器有什么作用
楚雄亟刚网络技术有限公司
华为网络技术大赛内容
网络安全防护攻略
广东数据库安全箱推荐厂家
软件开发市场销量分析报告
捕鱼软件开发公司 番禺
网络技术专科十年考什么
联想服务器怎么登录管理口
惠州视觉引导点胶软件开发