请求包,如果没有搜索到结果,返回包会包含"未能检索到相关内容",如果有搜索结果,就不会包含"未能检索到相关内容"。
GET /search/weixianrensheng/14_1 HTTP/2
Host: cloud.tencent.com
Cookie: qcloud_uid=YPaa3xfcHQIK; language=zh; qcloud_from=qcloud.directEnter.developer-1732875491636; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22193776d99421c9-0336803eedcf422-f575722-1327104-193776d994364b%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkzNzc2ZDk5NDIxYzktMDMzNjgwM2VlZGNmNDIyLWY1NzU3MjItMTMyNzEwNC0xOTM3NzZkOTk0MzY0YiJ9%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%22193776d99421c9-0336803eedcf422-f575722-1327104-193776d994364b%22%7D; _ga=GA1.2.721792733.1732875492; qcstats_seo_keywords=%E5%93%81%E7%89%8C%E8%AF%8D-%E5%93%81%E7%89%8C%E8%AF%8D-%E8%85%BE%E8%AE%AF%E4%BA%91; trafficParams=***%24%3Btimestamp%3D1732875493231%3Bfrom_type%3Dserver%3Btrack%3Dcd68b3d5-db3e-4a43-a26d-5018ae35a12c%3B%24***; _gcl_au=1.1.1004183509.1732875493; qcloud_visitId=ac6a6ba0e085bf2f5d71cd26b7af65ae; qcmainCSRFToken=ByrEQYRiS1l; intl=; _gat=1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
If-None-Match: W/"48e1-Ggf0RTvo7+st6e3WMp0oe7OZY8c"
Priority: u=0, i
Te: trailers
python tengxun.py baidu
关键词 'baidu' 出现代码泄露
python tengxun.py weixianrensheng
关键词 'weixianrensheng' 未出现代码泄露
import requests
import random
import sys
# 1. 定义 1-10 个 User-Agent
USER_AGENTS = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0",
"Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
"Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Mozilla/5.0 (iPad; CPU OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
]
# 2. 定义请求 URL 模板
URL_TEMPLATE = "https://cloud.tencent.com/search/{keyword}/14_1"
# 3. 定义请求头
HEADERS = {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"Accept-Encoding": "gzip, deflate, br",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Sec-Fetch-User": "?1",
"Priority": "u=0, i",
"Te": "trailers"
}
# 4. 定义 Cookie
COOKIES = {
"qcloud_uid": "YPaa3xfcHQIK",
"language": "zh",
"qcloud_from": "qcloud.directEnter.developer-1732875491636",
"sensorsdata2015jssdkcross": "%7B%22distinct_id%22%3A%22193776d99421c9-0336803eedcf422-f575722-1327104-193776d994364b%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkzNzc2ZDk5NDIxYzktMDMzNjgwM2VlZGNmNDIyLWY1NzU3MjItMTMyNzEwNC0xOTM3NzZkOTk0MzY0YiJ9%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%22193776d99421c9-0336803eedcf422-f575722-1327104-193776d994364b%22%7D",
"_ga": "GA1.2.721792733.1732875492",
"qcstats_seo_keywords": "%E5%93%81%E7%89%8C%E8%AF%8D-%E5%93%81%E7%89%8C%E8%AF%8D-%E8%85%BE%E8%AE%AF%E4%BA%91",
"trafficParams": "***%24%3Btimestamp%3D1732875493231%3Bfrom_type%3Dserver%3Btrack%3Dcd68b3d5-db3e-4a43-a26d-5018ae35a12c%3B%24***",
"_gcl_au": "1.1.1004183509.1732875493",
"qcloud_visitId": "ac6a6ba0e085bf2f5d71cd26b7af65ae",
"qcmainCSRFToken": "ByrEQYRiS1l",
"intl": "",
"_gat": "1"
}
# 5. 定义超时时间(秒)
TIMEOUT = 5
# 6. 发送请求并检查响应
def check_code_leak(keyword):
try:
# 动态替换 URL 中的关键词
url = URL_TEMPLATE.format(keyword=keyword)
# 随机选择一个 User-Agent
headers = HEADERS.copy()
headers["User-Agent"] = random.choice(USER_AGENTS)
# 发送 GET 请求
response = requests.get(
url,
headers=headers,
cookies=COOKIES,
timeout=TIMEOUT
)
# 检查响应状态码
if response.status_code == 200:
# 检查返回包是否包含 "未能检索到相关内容"
if "未能检索到相关内容" in response.text:
print(f"关键词 '{keyword}' 未出现代码泄露")
else:
print(f"关键词 '{keyword}' 出现代码泄露")
else:
print(f"请求失败,状态码: {response.status_code}")
except requests.exceptions.RequestException as e:
print(f"请求异常: {e}")
# 7. 主程序
if __name__ == "__main__":
# 检查命令行参数
if len(sys.argv) != 2:
print("使用方法: python tengxun.py <关键词>")
sys.exit(1)
# 获取关键词参数
keyword = sys.argv[1]
# 执行检查
check_code_leak(keyword)