Comment le téléchargement de ceci peut-il être terminé ?Les données originales capturées dans le navigateur 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^"
code python modifié par l'IA :
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")
Automatisation et scriptsRéponse : Comment le téléchargement peut-il être effectué ?jsl ne fonctionne pas
Merci les experts !
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));
);
);
Réponse : Comment le téléchargement peut-il être effectué ?Qu'attend JMP de l'argument de Headers(...) ? Je pense qu'il devrait s'agir d'un tableau associatif, et non d'une liste.
JSL et Python ont une utilisation presque opposée de [] et {} ; je suis sûr que l'IA sera toujours confuse.
Réponse : Comment le téléchargement peut-il être effectué ?Merci les experts !
Je n'ai pas réussi lorsque j'ai utilisé le JSL avec lequel j'avais l'habitude d'écrire.Je pense que c'est un problème avec le traitement des cookies.
Mais je ne sais pas comment gérer ça.Un expert pourrait-il me conseiller ?
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>
Réponse : Comment le téléchargement peut-il être effectué ?difficile à dire avec certitude, mais vous ne voulez pas coder en dur le jeton.
Généralement, lorsque vous êtes connecté à un site web utilisant ce jeton CSRF, vous en recevez un nouveau à chaque page web contenant un formulaire à remplir. Selon la technologie du site web, le jeton peut être intégré aux en-têtes de la requête ou aux données du formulaire envoyées sous forme de publication. Il semble que vous effectuiez une récupération plutôt qu'une publication ; il est donc logique de l'insérer dans les en-têtes. Si vous ne l'avez pas mis à jour, vous en utilisez probablement un. Il date d'environ un jour et est expiré.Réponse : Comment le téléchargement peut-il être effectué ?Merci Craig !
Ensuite, je vais toujours le gérer en appelant le code Python avec JSL
La bibliothèque ChromiumPage en Python peut obtenir automatiquement des données de capture de paquets complètes et télécharger en douceur le contenu de la page Web.
Réponse : Comment le téléchargement peut-il être effectué ?Les en-têtes peuvent être soit l'un soit l'autre.
S'il s'agit d'un tableau associatif, il effectue la
clé : valeur
pour toi.
Mais comme les clés n'ont pas besoin d'être uniques dans un argument d'en-tête, vous pouvez également utiliser une liste avec le
clé : valeur
comme un élément de la liste.
Réponse : Comment le téléchargement peut-il être effectué ?En règle générale, les cookies côté client ne sont pas non plus utilisés. Ils sont fournis par le serveur.
Réponse : Comment le téléchargement peut-il être effectué ?request = New HTTP Request(
URL( "https://cn.govopendata.com/xinwenlianbo/20250422/" ),
Method( "GET" )
);
html = request << download("$TEMP/govopendata.html");
Web(html);
Cela téléchargera et ouvrira la page Web
Réponse : Comment le téléchargement peut-il être effectué ?Merci les experts !
GET https://cn.govopendata.com/xinwenlianbo/20250422/
schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013)
Réponse : Comment le téléchargement peut-il être effectué ?Mais cette adresse de site Web peut être ouverte dans un navigateur
Réponse : Comment le téléchargement peut-il être effectué ?Il semble que vous ayez des problèmes de certificats. Les certificats sont censés être gérés par un serveur et non par un client, bien que certaines entreprises installent des certificats locaux.
Pour cette erreur, vous pouvez faire :
request = New HTTP Request(
URL( "https://cn.govopendata.com/xinwenlianbo/20250422/" ),
Method( "GET" ),
Verify SSL( "false" )
);
html = request << download("$TEMP/govopendata.html");
Web(html);
C'est l'équivalent de l'option --ssl-no-revoke de curl