gpt4 book ai didi

java - 在ubuntu终端中从url读取java类文件(?)作为纯文本

转载 作者:行者123 更新时间:2023-12-04 18:28:48 24 4
gpt4 key购买 nike

我不确定标题是否有意义。
我对这种东西不是很有经验。
这是这种情况:
我正在使用 Ubuntu 20.04 运行 linux 服务器
我通过 .sh 脚本运行一个程序,用于从不同的 URL 抓取网页。
一个 url 会返回一个像这样开头的文件:

{"javaClass":"java.util.ArrayList","list":[
我不确定这是 Java 类文件还是 JSON 文件,因为 url 没有扩展名。
我可以在浏览器中调用此 url,它将显示为文本。 (这就是为什么我可以看到上面的代码。)
如果我在 Ubuntu 终端中用 curl 调用它,它什么也不做。
如何在 Ubuntu 终端中以纯文本形式显示和读取它以处理数据,就像我在 Chrome 浏览器中所做的那样?
编辑:有问题的网址是: https://www.yes.co.il/o/yes/servletlinearsched/getscheduale?startdate=20211025&p_auth=w3wmBNc5
EDIT2:最后的 token 每次都不同。我正确地阅读了 token ,所以这不是问题。
我发现该站点请求 x-dtpc cookie。
我发现了这个关于 x-dtpc cookie 的信息:

this header is set by the JavaScript agent on XHRs and is used for correlating XHR requests to user actions


当我打开页面并从开发人员控制台获取 url 时,我可以在新选项卡中打开 url。如果我通过脚本获取 url,则无法在浏览器中打开该 url。
我加载标准 cookie,但显然这还不够。

最佳答案

在 chrome 开发工具中,您可以右键单击特定请求并复制相应的 cURL。当我打开页面时,创建了以下命令:

curl 'https://www.yes.co.il/o/yes/servletlinearsched/getscheduale' \
-H 'authority: www.yes.co.il' \
-H 'sec-ch-ua: "Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"' \
-H 'dnt: 1' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36' \
-H 'x-dtpc: 1$418482539_291h9vJHPPKPVFOURUFMBUBCNHWPOEEHUEJATA-0e5' \
-H 'accept: text/plain, */*; q=0.01' \
-H 'x-requested-with: XMLHttpRequest' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'origin: https://www.yes.co.il' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-dest: empty' \
-H 'referer: https://www.yes.co.il/content/tvguide' \
-H 'accept-language: en-US,en;q=0.9,de;q=0.8' \
-H 'cookie: TS01be6705=01ef05715da91cbd2bd3d3708b62fc37483302654019cffd2d42c61fe786389bea0697bdddc6cfaa989d8e83d7ecaf362d163c3ba4d4cc2cb2171d826bc2189e24b33b372f; COOKIE_SUPPORT=true; GUEST_LANGUAGE_ID=iw_IL; rxVisitor=1635415629464DQEQ6RQ2S8SQQ1QCFS5J66I2US8LK1NG; _gcl_au=1.1.2116753794.1635415632; _gid=GA1.3.1516801157.1635415633; dtSa=-; _ga=GA1.3.1003301072.1635415633; LFR_SESSION_STATE_33706=1635417685179; JSESSIONID=B399B241579DB87AF9FEC02AD72D62CF.worker_ip-10-0-3-108.eu-west-1.compute.internal; dtCookie==3=srv=1=sn=BF10E6A2EFEE80BE2CAD31F302CAF608=perc=100000=ol=0=mul=1=app:e6d1c681b48e20c9=0; _ga_H6Z9EGVSQX=GS1.1.1635418482.2.0.1635418482.0; dtLatC=14; AWSALB=1Ky1qIweYH/VBDu2pUv/DACVcWq5dmx3PPhlghfLR0g4oNTdMV78d7G08LreVX0l2Lvm0wdW5oRh+3j+THyZKDQmVldChB6XScu8+BVkqbSymgNrvMm4dOdT6TNL; AWSALBCORS=1Ky1qIweYH/VBDu2pUv/DACVcWq5dmx3PPhlghfLR0g4oNTdMV78d7G08LreVX0l2Lvm0wdW5oRh+3j+THyZKDQmVldChB6XScu8+BVkqbSymgNrvMm4dOdT6TNL; TS01542e32=01ef05715d1819fe7529d33b6e77731cfbb0015d8964ad5bb6c2e651cbb0a0a4b1882c8fa451246095770e14517339cd0a68861c971608fb5c8f0731d6c968c519acbcd35ea68d53e6fc4ceb067d99238c1dfce91a494ac4abf599a7d66a54b92c363e5c1b004d2d59e86f6198819dd2f1b43c0191; dtPC=1$418482539_291h9vJHPPKPVFOURUFMBUBCNHWPOEEHUEJATA-0e5; rxvt=1635420284821|1635415629471' \
--data-raw 'startdate=20211028&p_auth=c43Cdm7P' \
--compressed
大多数标题似乎不太相关,因此我可以将其归结为
curl --location --request POST 'https://www.yes.co.il/o/yes/servletlinearsched/getscheduale' \
--header 'content-type: application/x-www-form-urlencoded' \
--header 'cookie: JSESSIONID=B399B241579DB87AF9FEC02AD72D62CF.worker_ip-10-0-3-108.eu-west-1.compute.internal;' \
--data-urlencode 'startdate=20211028' \
--data-urlencode 'p_auth=c43Cdm7P'
但是有 JSESSIONID cookie 这是由对页面的初始请求设置的,并可能由进一步的请求更新。这就是为什么一个请求只在有限的时间内有效,而不使用新的 session ID。您的 刮刀将不得不从以前的请求中提取 session id 并使用这个。

关于java - 在ubuntu终端中从url读取java类文件(?)作为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69700964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com