服务器在 python 中使用请求库时发送 403 状态代码,但适用于浏览器
server sends 403 status code when using requests library in python, but works with browser
我正在尝试使用 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()
- 您也没有在打开文件时指定文件编码。
我正在尝试使用 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()
- 您也没有在打开文件时指定文件编码。