requests libreria instalar how headers python python-requests

libreria - python requests response



Solicitudes de Python. 403 Prohibido (2)

Necesitaba analizar un site , pero recibí un error 403 Prohibido. Aquí hay un código:

url = ''http://worldagnetwork.com/'' result = requests.get(url) print(result.content.decode())

Su salida:

<html> <head><title>403 Forbidden</title></head> <body bgcolor="white"> <center><h1>403 Forbidden</h1></center> <hr><center>nginx</center> </body> </html>

Por favor, di cuál es el problema.


Parece que la página rechaza las solicitudes GET que no identifican a un User-Agent . Visité la página con un navegador (Chrome) y copié el encabezado User-Agent de la solicitud GET (busque en la pestaña Red de las herramientas de desarrollo):

import requests url = ''http://worldagnetwork.com/'' headers = {''User-Agent'': ''Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36''} result = requests.get(url, headers=headers) print(result.content.decode()) # <!doctype html> # <!--[if lt IE 7 ]><html class="no-js ie ie6" lang="en"> <![endif]--> # <!--[if IE 7 ]><html class="no-js ie ie7" lang="en"> <![endif]--> # <!--[if IE 8 ]><html class="no-js ie ie8" lang="en"> <![endif]--> # <!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" lang="en"> <!--<![endif]--> # ...


Si usted es el propietario / administrador del servidor, y la solución aceptada no funcionó para usted, intente deshabilitar la protección CSRF (enlace a una respuesta SO) .

Estoy usando Spring (Java), por lo que la configuración requiere que haga un archivo SecurityConfig.java que contenga:

@Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure (HttpSecurity http) throws Exception { http.csrf().disable(); } // ... }