### [代理IP的HTTP请求头怎么改?User-Agent和Referer伪装实战](https://www.jiyueip.com/article/13592) **Published:** 2026-07-30T09:50:31 **Author:** 斑斓助理 **Excerpt:** 很多网站不止看IP,还看HTTP请求头——User-Agent、Referer、Accept-Language这些字段组合在一起,暴露了你的浏览器特征和访问来源。只换代理IP不改请求头,等于换了个面具但穿着同一套衣服。本文讲清几个关键请求头 很多网站不止看IP,还看HTTP请求头——User-Agent、Referer、Accept-Language这些字段组合在一起,暴露了你的浏览器特征和访问来源。只换代理IP不改请求头,等于换了个面具但穿着同一套衣服。本文讲清几个关键请求头的伪装方法。 ## 网站通过请求头能看到什么 你每次访问网页,浏览器会自动发送这些请求头给服务器: - User-Agent:你的浏览器类型、版本、操作系统。”Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/126.0.0.0″ - Referer:你从哪个页面跳转过来的。直接输入网址访问的话这个字段是空的。 - Accept-Language:浏览器语言。zh-CN说明是中文用户。 - X-Forwarded-For:代理服务器有时会加这个头,暴露客户端的真实IP。 代理IP只改了TCP层的源地址,HTTP层的请求头不会自动变——你通过代理访问的网站看到的是你本地浏览器发出的原始请求头。如果你的User-Agent是中文Windows+Chrome、Accept-Language是zh-CN,但代理IP是美国——这种矛盾会被风控系统标记。 ## 改User-Agent 浏览器端:Chrome开发者工具F12→右上角三个点→”More tools”→”Network conditions”→取消勾选”Use browser default”→手动输入一个美国常用的UA。 Python requests端:直接设headers参数。 ``` import requests headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36', 'Accept-Language': 'en-US,en;q=0.9', 'Accept': 'text/html,application/xhtml+xml', 'Referer': 'https://www.google.com/', } resp = requests.get('https://目标网站', proxies={'http': 'http://代理IP:端口', 'https': 'http://代理IP:端口'}, headers=headers) ``` Selenium端:启动参数里加UA。 ``` from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--user-agent=UA字符串') ``` 天行IP的代理节点配合自定义请求头,能有效降低被网站识别为”异常流量”的概率。邀请码 **blsj**,静态代理月付6元起。 ## 随机化UA轮换 单用一个UA等于穿了换衣服但每次同一件。维护一个UA列表随机取: ``` import random ua_list = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/126.0.0.0', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/125.0.0.0', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/124.0.0.0', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0', ] headers = {'User-Agent': random.choice(ua_list)} ``` 注意:只用真实的、市面上常见的浏览器版本UA。别用自己编的奇怪字符串——反而更容易被识别为爬虫。Chrome和Firefox的UA格式是固定的,在WhatIsMyBrowser.com可以查到主流版本。 ## 改Referer伪装来源 Referer告诉你”怎么到这一页的”——如果Referer是空的或者指着一个不相关的网站,风控会怀疑。伪装Referer为搜索引擎: ``` headers['Referer'] = 'https://www.google.com/search?q=' + '关键词' ``` 或者伪装成从站内其他页面跳转过来的:headers\[‘Referer’\] = ‘https://目标网站/上一个页面的URL’——模拟正常的站内浏览路径。 ## 检查还有哪些头暴露了你 用 httpbin.org/headers 或者 requestbin.com 可以抓到你实际发出的所有请求头。对着检查:X-Forwarded-For有没有暴露真实IP;Accept-Language和代理IP地区是否匹配;Referer是否符合正常浏览逻辑;有没有代理客户端自己加的标识头。 ## 常见问题 ### 改了UA和Referer还是被网站识别为爬虫? 因为网站还有别的检测维度——浏览器指纹(Canvas/WebGL/AudioContext)、TLS指纹(JA3)、行为分析(鼠标移动轨迹、滚动速度)。请求头伪装只是基础,全面防检测需要参考第31篇浏览器指纹对抗(ID 13573)。 ### 每次请求都随机UA会不会太假了? 同一个Session(同一个IP)短时间内切换多个不同的UA会被风控识别——正常用户不会几秒钟换一次浏览器版本。建议同一个IP绑定一个UA,换IP时才换UA。两者同步切换更自然。 ### 用Selenium改了UA但网站还是能看到真实UA? Selenium的–user-agent参数在旧版本有bug——某些情况下不生效。改完后driver.execute\_script(“return navigator.userAgent”)确认返回的是你设置的UA。如果不一致,用undetected-chromedriver替代。 **Tags:** HTTP代理, SOCKS5代理, 代理IP **Categories:** 行业洞察 ---