这个要怎样才能下载完成呢?F12浏览器中捕获的原始数据
curl ^"https://cn.govopendata.com/xinwenlianbo/20250422/^" ^
-H ^"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7^" ^
-H ^"accept-language: zh-CN,zh;q=0.9^" ^
-H ^"cache-control: max-age=0^" ^
-b ^"csrftoken=pNwjIMIrOOrnBe4GHTApOViIeNRBWwtI; _ga=GA1.1.239242113.1753140858; FCNEC=^%^5B^%^5B^%^22AKsRol_7sr_jz8BXh0YeUEUR5mSy1qL4wfsfs9XfmUOOzlIdLMJvsfgol4pcXisr7VbaTJZwRTrVSw8GGMEaAamWDh9LSXIxXj9O5k3V0EkilBGqe15w6DSZ4BceMdE4r1jUJZWTKbEm3STkdLujOfq755fcOqJP5A^%^3D^%^3D^%^22^%^5D^%^5D; _clck=1wdxmr4^%^7C2^%^7Cfxt^%^7C0^%^7C2029; _ga_7NESVRSV0K=GS2.1.s1753185097^$o3^$g1^$t1753186048^$j60^$l0^$h0; _clsk=nb3rgu^%^7C1753186048890^%^7C5^%^7C1^%^7Cv.clarity.ms^%^2Fcollect; __gads=ID=335a8fb772d726f1:T=1753140847:RT=1753186047:S=ALNI_MYKyblOPT3WE9PIgjHdPtYlQdN2wQ; __gpi=UID=0000116b9b56a5c8:T=1753140847:RT=1753186047:S=ALNI_Mb_sdW8WlGVmWp2SQ0U3v9G7fppFg; __eoi=ID=f8abc10bf0356803:T=1753140847:RT=1753186047:S=AA-Afjazt5ToEHQpkDn9PtsRpGnn^" ^
-H ^"priority: u=0, i^" ^
-H ^"referer: https://cn.govopendata.com/xinwenlianbo/?page=13^" ^
-H ^"sec-ch-ua: ^\^"Not)A;Brand^\^";v=^\^"8^\^", ^\^"Chromium^\^";v=^\^"138^\^", ^\^"Google Chrome^\^";v=^\^"138^\^"^" ^
-H ^"sec-ch-ua-mobile: ?0^" ^
-H ^"sec-ch-ua-platform: ^\^"Windows^\^"^" ^
-H ^"sec-fetch-dest: document^" ^
-H ^"sec-fetch-mode: navigate^" ^
-H ^"sec-fetch-site: same-origin^" ^
-H ^"sec-fetch-user: ?1^" ^
-H ^"upgrade-insecure-requests: 1^" ^
-H ^"user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36^"
AI修改的python代码:
import requests
from pathlib import Path
url = "https://cn.govopendata.com/xinwenlianbo/20250721/"
headers = {
"sec-ch-ua": '"Not A;Brand";v="8", "Chromium";v="138", "Google Chrome";v="138"',
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language": "zh-CN,zh;q=0.9",
"cache-control": "max-age=0",
"referer": "https://cn.govopendata.com/xinwenlianbo/20250721/",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
}
cookies = {
"csrftoken": "pNwjIMIrOOrnBe4GHTApOViIeNRBWwtI",
"__gads": "ID=335a8fb772d726f1:T=1753140847:RT=1753140847:S=ALNI_MYKyblOPT3WE9PIgjHdPtYlQdN2wQ",
"__gpi": "UID=0000116b9b56a5c8:T=1753140847:RT=1753140847:S=ALNI_Mb_sdW8WlGVmWp2SQ0U3v9G7fppFg",
"__eoi": "ID=f8abc10bf0356803:T=1753140847:RT=1753140847:S=AA-Afjazt5ToEHQpkDn9PtsRpGnn",
"_ga": "GA1.1.239242113.1753140858",
"FCNEC": '[[\"AKsRol_lyJVKvuPII10tMMWp3m_gh6UZiJ9Iej1Qg7VnR8bSTCnrLKTYNiQpPvEtsQkWDDlJCXxFJLurwTgZhoOiDfPe8XWxbQiQxlkfi3r7qGSPUlSTQyiBCTOpkIxy1RVLbQtVFHCYXz9FGzaWXlOp1l-wGib7Gg==\"]]',
"_ga_7NESVRSV0K": "GS2.1.s1753140857$o1$g1$t1753140966$j39$l0$h0"
}
with requests.Session() as s:
resp = s.get(url, headers=headers, cookies=cookies, timeout=10)
resp.raise_for_status()
resp.encoding = resp.apparent_encoding
Path("xinwenlianbo_20250721.html").write_text(resp.text, encoding="utf-8")
自动化和脚本回复: 这个怎么才能下载完成?jsl 不起作用
谢谢专家!
u = "https://cn.govopendata.com/xinwenlianbo/20250721/";
cookie_str = "csrftoken=pNwjIMIrOOrnBe4GHTApOViIeNRBWwtI; __gads=ID=335a8fb772d726f1:T=1753140847:RT=1753140847:S=ALNI_MYKyblOPT3WE9PIgjHdPtYlQdN2wQ; __gpi=UID=0000116b9b56a5c8:T=1753140847:RT=1753140847:S=ALNI_Mb_sdW8WlGVmWp2SQ0U3v9G7fppFg; __eoi=ID=f8abc10bf0356803:T=1753140847:RT=1753140847:S=AA-Afjazt5ToEHQpkDn9PtsRpGnn; _ga=GA1.1.239242113.1753140858; FCNEC=[[\!"AKsRol_lyJVKvuPII10tMMWp3m_gh6UZiJ9Iej1Qg7VnR8bSTCnrLKTYNiQpPvEtsQkWDDlJCXxFJLurwTgZhoOiDfPe8XWxbQiQxlkfi3r7qGSPUlSTQyiBCTOpkIxy1RVLbQtVFHCYXz9FGzaWXlOp1l-wGib7Gg==\!" ]]; _ga_7NESVRSV0K=GS2.1.s1753140857$o1$g1$t1753140966$j39$l0$h0";
headers = {
"Cookie: " || cookie_str,
"sec-ch-ua: \!"Not A;Brand\!" ;v=\!"8\!" , \!"Chromium\!" ;v=\!"138\!" , \!"Google Chrome\!" ;v=\!"138\!"",
"accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept-language: zh-CN,zh;q=0.9",
"cache-control: max-age=0",
"referer: https://cn.govopendata.com/xinwenlianbo/20250721/",
"sec-ch-ua-mobile: ?0",
"sec-ch-ua-platform: \!"Windows\!"",
"sec-fetch-dest: document",
"sec-fetch-mode: navigate",
"sec-fetch-site: same-origin",
"sec-fetch-user: ?1",
"upgrade-insecure-requests: 1",
"user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"
};
try(
rs = New HTTP Request(URL(u), Method("GET"), Headers(headers));
rr = rs << Send();
status = rr << GetStatusCode();
If(status == 200,
body = rr << GetBody();
txt = Blob To Char(body, "UTF-8");
Write File("xinwenlianbo_20250721.html", txt);
,
Show("Error: Status Code = " || Char(status));
);
);
回复: 这个怎么才能下载完成?JMP 对 Headers(...) 的参数有什么要求?我认为它应该是一个关联数组,而不是列表。
JSL 和 Python 对 [] 和 {} 的用法几乎相反;我相信人工智能总是会感到困惑。
回复: 这个怎么才能下载完成?谢谢专家!
当我使用我习惯编写的 JSL 时,我并没有成功。我认为这是cookie处理方面的问题。
但我不知道该如何处理。请专家指导一下吗?
h=[=>]; u="https://cn.govopendata.com/xinwenlianbo/20250422/";
h["accept"]="text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7";
h["accept-language"]="zh-CN,zh;q=0.9";
h["cache-control"]="max-age=0";
h["cookies"]="csrftoken=pNwjIMIrOOrnBe4GHTApOViIeNRBWwtI; _ga=GA1.1.239242113.1753140858; FCNEC=%5B%5B%22AKsRol_7sr_jz8BXh0YeUEUR5mSy1qL4wfsfs9XfmUOOzlIdLMJvsfgol4pcXisr7VbaTJZwRTrVSw8GGMEaAamWDh9LSXIxXj9O5k3V0EkilBGqe15w6DSZ4BceMdE4r1jUJZWTKbEm3STkdLujOfq755fcOqJP5A%3D%3D%22%5D%5D; _clck=1wdxmr4%7C2%7Cfxt%7C0%7C2029; _ga_7NESVRSV0K=GS2.1.s1753185097$o3$g1$t1753186048$j60$l0$h0; _clsk=nb3rgu%7C1753186048890%7C5%7C1%7Cv.clarity.ms%2Fcollect; __gads=ID=335a8fb772d726f1:T=1753140847:RT=1753186047:S=ALNI_MYKyblOPT3WE9PIgjHdPtYlQdN2wQ; __gpi=UID=0000116b9b56a5c8:T=1753140847:RT=1753186047:S=ALNI_Mb_sdW8WlGVmWp2SQ0U3v9G7fppFg; __eoi=ID=f8abc10bf0356803:T=1753140847:RT=1753186047:S=AA-Afjazt5ToEHQpkDn9PtsRpGnn";
h["priority"]="u=0, i";
h["referer"]="https://cn.govopendata.com/xinwenlianbo/?page=13";
h["sec-ch-ua"]="\!"Not)A;Brand\!";v=\!"8\!", \!"Chromium\!";v=\!"138\!", \!"Google Chrome\!";v=\!"138\!"";
h["sec-ch-ua-mobile"]="?0";
h["sec-ch-ua-platform"]="\!"Windows\!"";
h["sec-fetch-dest"]="document";
h["sec-fetch-mode"]="navigate";
h["sec-fetch-site"]="same-origin";
h["sec-fetch-user"]="?1";
h["upgrade-insecure-requests"]="1";
h["user-agent"]="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
try(rs=New HTTP Request(URL(u),Method("GET"),Headers(h)));try(rr=rs<
<SEND></SEND>
<P class="_tgt transPara grammarSection"> </P>
回复: 这个怎么才能下载完成?很难肯定地说,但你不想对令牌进行硬编码。
通常,当您登录使用该 csrf 令牌的网站时,每次您填写包含表单的网页时,都会获得一个全新的令牌。根据网站技术的不同,该令牌可能是请求标头的一部分,也可能嵌入在以 post 形式发送的表单数据中。您似乎正在执行 get 操作而不是 post 操作,因此将其放在标头中是合理的。如果您尚未更新令牌,则可能正在使用一个。该令牌大约存在一天,已经过期。回复: 这个怎么才能下载完成?谢谢你,克雷格!
然后我仍然会通过使用 JSL 调用 python 代码来处理它
python中的ChromiumPage库可以自动获取完整的抓包数据,顺利下载网页内容。
回复: 这个怎么才能下载完成?标题可以是任意一种。
如果它是一个关联数组,它会
键:值
为你。
但由于标题参数中的键不必唯一,因此您也可以使用带有
键:值
作为列表中的一个项目。
回复: 这个怎么才能下载完成?通常情况下,你也不会使用客户端的 Cookie。Cookie 由服务器提供。
回复: 这个怎么才能下载完成?request = New HTTP Request(
URL( "https://cn.govopendata.com/xinwenlianbo/20250422/" ),
Method( "GET" )
);
html = request << download("$TEMP/govopendata.html");
Web(html);
这将下载并打开网页
回复: 这个怎么才能下载完成?谢谢专家!
GET https://cn.govopendata.com/xinwenlianbo/20250422/
schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013)
回复: 这个怎么才能下载完成?但这个网址可以在浏览器中打开
回复: 这个怎么才能下载完成?看起来您有证书问题,证书应该由服务器处理,而不是客户端,尽管有些公司确实安装了本地证书。
对于该错误,您可以执行以下操作:
request = New HTTP Request(
URL( "https://cn.govopendata.com/xinwenlianbo/20250422/" ),
Method( "GET" ),
Verify SSL( "false" )
);
html = request << download("$TEMP/govopendata.html");
Web(html);
这相当于 curl 的--ssl-no-revoke 选项