我正在尝试使用python的请求库登录网站(www.scribd.com)。 登录页面为https://www.scribd.com/login。 当我执行以下操作时,一切正常,并且状态码为200,因此我知道该页面存在:
import requests
BASE_URL = "https://www.scribd.com/"
LOGIN_URL = BASE_URL + "login"
r=requests.get(LOGIN_URL)
print(r.status_code)
print(r.reason)
但是,如果我发出POST请求(无论是否包含我的登录详细信息,是否包含标题,等等),我将始终收到404响应。我已经在其他网站上尝试了相同的模式,并且对于POST和GET,我将为其他网站获得200 OK状态代码。 即:
BASE_URL_IG='https://www.instagram.com/'
LOGIN_URL_IG=BASE_URL_IG+'accounts/login'
r = requests.get(LOGIN_URL_IG)
print(r.reason)
print(r.status_code)
r = requests.post(LOGIN_URL_IG)
print(r.reason)
print(r.status_code)
我不确定还有什么尝试,但是我似乎无法在任何其他站点上复制此问题。我也在Postman中尝试过,但是遇到了同样的问题。
答案 0 :(得分:0)
后端可以为GET而不是POST打开路由。因此,这不足为奇。例如,您可以允许用户在购物网站上获取商品列表,但仅允许经过验证和授权的用户发布新商品。
在这里,您可以使用浏览器将请求复制为CURL。
https://developers.google.com/web/updates/2015/05/replay-a-network-request-in-curl
当我使用上述方法为登录请求复制CURL命令时,得到200响应。但是,其编码混乱了。重要的是,API确实返回200响应。您只需要微调参数。祝你好运:)