AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 462646
Accepted
Cool Charac
Cool Charac
Asked: 2018-08-15 16:50:41 +0800 CST2018-08-15 16:50:41 +0800 CST 2018-08-15 16:50:41 +0800 CST

AkamaiGlobalHost 上的文件使用浏览器下载,但不使用 curl

  • 772

当我在浏览器(firefox 和 waterfox)上下载以下文件时:https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi?productName=unrealengine. 它重定向到https://epicgames-download1.akamaized.net/Builds/UnrealEngineLauncher/Installers/Win32/EpicInstaller-7.14.2.msi?launcherfilename=EpicInstaller-7.14.2-unrealengine.msi然后下载文件。

但是,当我从 firefox 复制 curl 命令以便可以使用 curl 下载文件时,我从主机 AkamaiGHost 收到 403 Forbidden。我什至无法使用下载管理器程序下载它。

这是我复制的 curl 请求(来自 firefox devtools):

curl "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi?productName=unrealengine" -H "User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "DNT: 1" -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1"

当我启用 --verbose 和 --location (允许重定向)时,我从 curl 获得以下输出:

* STATE: INIT => CONNECT handle 0x6000574d8; line 1407 (connection #-5000)
* Added connection 0. The cache now contains 1 members
* STATE: CONNECT => WAITRESOLVE handle 0x6000574d8; line 1443 (connection #0)
*   Trying 35.169.251.130...
* TCP_NODELAY set
* STATE: WAITRESOLVE => WAITCONNECT handle 0x6000574d8; line 1524 (connection #0)
* Connected to launcher-public-service-prod06.ol.epicgames.com (35.169.251.130) port 443 (#0)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x6000574d8; line 1576 (connection #0)
* Marked for [keep alive]: HTTP default
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* STATE: SENDPROTOCONNECT => PROTOCONNECT handle 0x6000574d8; line 1590 (connection #0)
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.ol.epicgames.com
*  start date: Mar 12 00:00:00 2018 GMT
*  expire date: Apr 12 12:00:00 2019 GMT
*  subjectAltName: host "launcher-public-service-prod06.ol.epicgames.com" matched cert's "*.ol.epicgames.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* STATE: PROTOCONNECT => DO handle 0x6000574d8; line 1611 (connection #0)
> GET /launcher/api/installer/download/EpicGamesLauncherInstaller.msi?productName=unrealengine HTTP/1.1
> Host: launcher-public-service-prod06.ol.epicgames.com
> Accept-Encoding: deflate, gzip
> User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language: en-US,en;q=0.5
> DNT: 1
> Connection: keep-alive
> Upgrade-Insecure-Requests: 1
>
* STATE: DO => DO_DONE handle 0x6000574d8; line 1673 (connection #0)
* STATE: DO_DONE => WAITPERFORM handle 0x6000574d8; line 1800 (connection #0)
* STATE: WAITPERFORM => PERFORM handle 0x6000574d8; line 1815 (connection #0)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 303 See Other
< Date: Wed, 15 Aug 2018 00:31:34 GMT
< Location: https://epicgames-download1.akamaized.net/Builds/UnrealEngineLauncher/Installers/Win32/EpicInstaller-7.14.2.msi?launcherfilename=EpicInstaller-7.14.2-unrealengine.msi
< X-Epic-Correlation-ID: 8cf2e9aa-2945-43f3-8489-ed8c1b4f832b
< Content-Length: 0
< Connection: keep-alive
<
* multi_done
* Connection #0 to host launcher-public-service-prod06.ol.epicgames.com left intact
* Issue another request to this URL: 'https://epicgames-download1.akamaized.net/Builds/UnrealEngineLauncher/Installers/Win32/EpicInstaller-7.14.2.msi?launcherfilename=EpicInstaller-7.14.2-unrealengine.msi'
* STATE: PERFORM => CONNECT handle 0x6000574d8; line 1967 (connection #-5000)
* Added connection 1. The cache now contains 2 members
* STATE: CONNECT => WAITRESOLVE handle 0x6000574d8; line 1443 (connection #1)
*   Trying 88.221.14.25...
* TCP_NODELAY set
* STATE: WAITRESOLVE => WAITCONNECT handle 0x6000574d8; line 1524 (connection #1)
* Connected to epicgames-download1.akamaized.net (88.221.14.25) port 443 (#1)
* STATE: WAITCONNECT => SENDPROTOCONNECT handle 0x6000574d8; line 1576 (connection #1)
* Marked for [keep alive]: HTTP default
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /usr/ssl/certs/ca-bundle.crt
  CApath: none
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* STATE: SENDPROTOCONNECT => PROTOCONNECT handle 0x6000574d8; line 1590 (connection #1)
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-ECDSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=US; ST=Massachusetts; L=Cambridge; O=Akamai Technologies, Inc.; CN=a248.e.akamai.net
*  start date: Jan 23 00:00:00 2018 GMT
*  expire date: Jan 19 12:00:00 2019 GMT
*  subjectAltName: host "epicgames-download1.akamaized.net" matched cert's "*.akamaized.net"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert ECC Secure Server CA
*  SSL certificate verify ok.
* STATE: PROTOCONNECT => DO handle 0x6000574d8; line 1611 (connection #1)
> GET /Builds/UnrealEngineLauncher/Installers/Win32/EpicInstaller-7.14.2.msi?launcherfilename=EpicInstaller-7.14.2-unrealengine.msi HTTP/1.1
> Host: epicgames-download1.akamaized.net
> Accept-Encoding: deflate, gzip
> User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Accept-Language: en-US,en;q=0.5
> DNT: 1
> Connection: keep-alive
> Upgrade-Insecure-Requests: 1
>
* STATE: DO => DO_DONE handle 0x6000574d8; line 1673 (connection #1)
* STATE: DO_DONE => WAITPERFORM handle 0x6000574d8; line 1800 (connection #1)
* STATE: WAITPERFORM => PERFORM handle 0x6000574d8; line 1815 (connection #1)
* HTTP 1.1 or later with persistent connection, pipelining supported
< HTTP/1.1 403 Forbidden
* Server AkamaiGHost is not blacklisted
< Server: AkamaiGHost
< Mime-Version: 1.0
< Content-Type: text/html
< Content-Length: 391
< Expires: Wed, 15 Aug 2018 00:31:35 GMT
< Date: Wed, 15 Aug 2018 00:31:35 GMT
< Connection: keep-alive
< Content-Disposition: filename=EpicInstaller-7.14.2-unrealengine.msi
<
<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD><BODY>
<H1>Access Denied</H1>

You don't have permission to access "http&#58;&#47;&#47;epicgames&#45;download1&#46;akamaized&#46;net&#47;Builds&#47;UnrealEngineLauncher&#47;Installers&#47;Win32&#47;EpicInstaller&#45;7&#46;14&#46;2&#46;msi&#63;" on this server.<P>
Reference&#32;&#35;18&#46;150edd58&#46;1534293095&#46;8f2cbe
</BODY>
</HTML>
* STATE: PERFORM => DONE handle 0x6000574d8; line 1986 (connection #1)
* multi_done
* Connection #1 to host epicgames-download1.akamaized.net left intact
* Expire cleared

出了什么问题?

curl browser
  • 1 1 个回答
  • 1051 Views

1 个回答

  • Voted
  1. Best Answer
    Stephen Harris
    2018-08-15T17:27:57+08:002018-08-15T17:27:57+08:00

    我不确定为什么curl不起作用,但wget对我有用:

    % wget \
        --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
        --header="Accept-Encoding: gzip, deflate, br" \
        --header="Accept-Language: en-US,en;q=0.9" \
        --header="Cache-Control: no-cache" \
        --header="Connection: keep-alive" \
        --header="Pragma: no-cache" \
        --header="Upgrade-Insecure-Requests: 1" \
        --header="User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36" \
        "https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi?productName=unrealengine"
    
    % ls -l EpicGamesLauncherInstaller.msi\?productName=unrealengine
    -rw-r--r-- 1 sweh sweh 33411072 Aug  8 08:55 EpicGamesLauncherInstaller.msi?productName=unrealengine
    
    % file *msi*
    EpicGamesLauncherInstaller.msi?productName=unrealengine: Composite Document File V2 Document, Little Endian, Os: Windows, Version 6.1, Code page: 1252, Title: Installation Database, Subject: Epic Games Launcher, Author: Epic Games, Inc., Keywords: Installer, Comments: This installer database contains the logic and data required to install Epic Games Launcher., Create Time/Date: Wed Aug  8 13:15:26 2018, Name of Creating Application: Windows Installer XML Toolset (3.8.1128.0), Security: 4, Template: Intel;1033,1042,1041,2052,1025,1031,1034,1036,1040,1045,1046,1049,1055, Last Saved By: Intel;1033,1042,1041,2052,1025,1031,1034,1036,1040,1045,1046,1049,1055, Revision Number: {2CF87DD4-2327-44B3-81B8-3E85B197848B}1.1.163.0;{3A945EBF-3302-4D14-ABE5-C11696582633}1.1.163.0;{D0769F44-D459-450F-B084-CAE38062C75B}, Number of Pages: 405, Number of Characters: 0
    
    • 2

相关问题

  • 如何卷曲并解压缩到某个目录?[复制]

  • 从终端检查 URL 重定向

  • 从文件中获取 URL 地址并检查 HTTP 代码

  • 浏览器不再播放 Flash (.swf) 文件

  • 如何在终端中下载链接重定向并且似乎仅在 GUI 中工作的文件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve