微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

服务器在 python 中使用请求库时发送 403 状态代码,但适用于浏览器

如何解决服务器在 python 中使用请求库时发送 403 状态代码,但适用于浏览器

我正在尝试使用 python 的请求模块自动登录,但是每当我使用 POST 或 GET 请求时,服务器都会发送 403 状态代码;奇怪的是,我可以使用任何浏览器访问相同的 URL,但它不能用于 curl 和请求。 这是代码

import requests
import lxml
from bs4 import BeautifulSoup
import os

url = "https://ais.usvisa-info.com/en-am/niv/users/sign_in"
req = requests.get(url).text
soup = BeautifulSoup(req,'lxml')
ready = soup.prettify()

FILE = open("usvisa.html","w")
FILE.write(ready)
FILE.close()

如果有任何帮助或想法,我将不胜感激!

解决方法

可能是 /robots.txt 阻止了您。 尝试使用自定义代理覆盖用户代理。

import requests
import lxml
from bs4 import BeautifulSoup
import os

headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/87.0.4280.141 Safari/537.36"}


url = "https://ais.usvisa-info.com/en-am/niv/users/sign_in"
req = requests.get(url,headers=headers).text
soup = BeautifulSoup(req,'lxml')
ready = soup.prettify()

FILE = open("usvisa.html","w",encoding="utf-8")
FILE.write(ready)
FILE.close()
  • 您在打开文件时也没有指定文件编码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。