0

SEC.GOV对 GET 请求的响应:

您的请求已被识别为可接受策略之外的自动化工具网络的一部分,并且将受到管理,直到采取行动声明您的流量。请通过更新您的用户代理以包含公司特定信息来声明您的流量。

即使在获取请求中添加用户代理后,我也会收到 403 错误。我可以毫无问题地从本地和 Azure 云访问 sec.gov。自过去 4-5 天以来,这仅在 AWS 中发生。不知道为什么?任何帮助表示赞赏!

这就是我正在做的事情:

import requests

url_1 = 'https://www.sec.gov'
url_2 = 'https://www.sec.gov/Archives/edgar/data/0001781258/000178125821000028/0001781258-21-000028-index.html'

HEADERS = {'User-Agent': 'TEST'}

# Both of the below get requests gives 403 error
print(requests.get(url_1, headers=HEADERS))
print(requests.get(url_2, headers=HEADERS))

4

1 回答 1

0

检查此链接:https ://www.sec.gov/os/webmaster-faq#user-agent

在这里,我使用 PHP & CURL 并使用以下代码解决了它:

$curl_headers   = array(    'User-Agent: MyDomainName.com info@MyDomainName.com',
                            'Accept-Encoding: gzip, deflate',
                            'Host: www.sec.gov');
$ch             =   curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $curl_headers);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "MyDomainName.com info@MyDomainName.com");
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_URL, $url);
$html           =   curl_exec($ch);    
curl_close($ch);
于 2021-09-29T07:40:53.900 回答