Solicitud de prueba de interfaz de Python

solicita instalación

  • Instalar módulo de solicitudes  con pip 
  •   solicitudes de instalación de pip

1. Uso de Get

Formato: get (url, params = None, ** kwargs)

Obtenga parámetros de consulta comunes

  • req.status_code : código de estado de respuesta
  • req.raw : el cuerpo de respuesta original, leer usando r.raw.read ()
  • contenido requerido: cuerpo de respuesta de bytes, necesita decodificar
  • req.text: el cuerpo de la respuesta en formato de cadena, se decodificará automáticamente con la codificación de caracteres del encabezado de respuesta
  • req.headers: almacena el encabezado de respuesta del servidor como un objeto de diccionario, pero este diccionario es especial, las claves del diccionario no distinguen entre mayúsculas y minúsculas, si la clave no existe, devuelve Ninguno
  • req.json () : el decodificador json incorporado en la solicitud
  • req.raise_for_status () : solicitud fallida ( respuesta no 200 ) , lanzar excepción
  • req.url : obtener la url solicitada
  • req.cookies : obtenga las cookies después de la solicitud
  • req.encoding : obtiene la codificación
solicitudes de importación 
url = 'https://www.baidu.com/s' 
params = { 
    'Wd': '% E6% B5% 8B% E8% AF% 95' ,  'prefixsug': 'ceshi' ,  }  header = {'User-Agent': 'Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit / 537.36 (KHTML, like Gecko) Chrome / 80.0.3987.163 Safari / 537.36' ,} cookie = {} data = request.get ( url = url, encabezados = encabezado, params = params, cookies = cookie) print (data.content.decode ('utf8'))

Afirmación

afirmar data.json () ['estado'] == Falso

Parámetros posteriores a la solicitud

Formato: post (url , datos , json , ...)

Publicar parámetros de consulta comunes

  • url : dirección de solicitud de publicación
  • datos : Pase la entrada del parámetro cuando el cuerpo es datos de formato application / x-www-form-urlencoded
  • json : pasa la entrada del parámetro cuando el cuerpo tiene datos de formato json
  • encabezados : pasar parámetros cuando la solicitud posterior requiere parámetros de encabezado

solicitudes de importación , json 

url = 'https://www.lagou.com/jobs/positionAjax.json' 
params = { 
    'needAddtionalResult': 'false'  } 
 header = {  'User-Agent': 'Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 80.0.3987.163 Safari / 537.36 ' ,' Content-Type ':' application / x-www-form-urlencoded; charset = UTF-8 ' } cuerpo = {'first': 'true' , 'pn': '1' , 'kd': 'Software Test Engineer' ,} # solicita operación # timeout timeout 2 segundos verificar certificado de seguridad True debe tener un certificado de seguridad, de acuerdo con el navegador Requerir que el contenido sangrado se serialice valor = solicitudes.post (url = url, encabezados = encabezado, params = params, datos = cuerpo, tiempo de espera = 2.00, verificar = True,sangría = Verdadero) print (value.json ()) datos =value.json () filename = 'filename' x = json.dump (data, open (filename, 'w'), sure_ascii = False, indent = True) y = json.load (open (filename, 'r' )) imprimir (y)

Segundo, el módulo JSON

1 、 json.dumps ()

  • Se utiliza para convertir datos de tipo dict a str, porque se producirá un error si los datos de tipo dict se escriben directamente en el archivo json, por lo que esta función es necesaria al escribir datos

2 、 json.loads ()

  • json.loads () se usa para convertir datos de tipo str a dict .
  • El uso con json.dumps () es justo lo contrario.

3 、 json.dump ()

  • json.dump () se utiliza para convertir datos dict a str y escribirlos en el archivo json. Los siguientes dos métodos pueden escribir datos en el archivo json

4 、 json.load ()

  • json.load () se usa para leer datos del archivo json

Procesamiento de datos JSON

  • importar json
  • json.dumps (req.json () , sangría = Verdadero , asegurar_ascii = Falso)
  • req.json () : conversión de datos en formato json
  • sangría = Verdadero : serialización de datos en formato json
  • sure_ascii = Falso : procesamiento de datos en chino en formato json

3. Solicitar tiempo de espera, certificado de seguridad y serialización de contenido

Tiempo de espera de solicitud El parámetro de tiempo de espera en Requests.get 

La propiedad Verificar está establecida en Falso, y los certificados de seguridad están exentos de verificación. req = request.get (url, verificar = falso)

Sangría de serialización de contenido = True

# solicitudes operación # tiempo de espera tiempo de espera 2 segundos verificar certificado de seguridad True debe tener un certificado de seguridad, serializar de acuerdo con los requisitos del navegador sangrar contenido de 
valor = solicitudes.get (url = url, encabezados = encabezado, params = params, datos = cuerpo, tiempo de espera = 2.00, verificar = Verdadero, sangría = Verdadero)

Cuarto, procesamiento de cookies

  1. Transferencia de cookies entre solicitudes .
  2. Transferencia de cookies entre funciones .
  3. Entrega de cookies bajo el marco de unittest .

Declarar objeto contenedor de cookies:

  • self.cookie = request.cookies.RequestsCookieJar ()

Pase las cookies generadas al contenedor :

  • self.cookie.update (r.cookies 

Primer paso

 

Segundo paso

El tercer paso

El cuarto paso

V. Procesamiento de tokens

1. Extraiga el valor del token de la respuesta .

2. Cómo usar el valor del token .

solicitudes de importación 
key = 
request.Session () file = key.get ('http://www.baidu.com' ) 
print (file.cookies)

Requests-html

Instalar

  pip3 instalar solicitudes-html

Importar

  desde request_html importar HTMLSession

  Requests-html

Para utilizar

  desde request_html importar HTMLSession

  req = HTMLSession ()

  params = {'query': 'testing'}

  w = r.get ("http://www.sogou.com/web", params = params)

 

6. Certificación y procesamiento de la SESIÓN

Definición de autenticación de identidad

  • La autenticación de identidad utiliza las credenciales proporcionadas por el usuario para identificar al usuario.
  • Sesión de preservación de sesión, utilizada para mantener el estado de la sesión;
  • El token es autorizar al usuario.
  • Relación entre autenticación y autorización de identidad: necesidad de obtener información de identidad antes de la autorización

Tipos de autenticacion

1. Autenticación de identidad básica

HTTP Basic Auth es el método de autenticación propuesto por HTTP1.0

Para cada reino, el cliente se autentica proporcionando un nombre de usuario y contraseña

Cuando la autenticación falla, el servidor recibe la solicitud del cliente y devuelve 401 NO AUTORIZADO. Al mismo tiempo, el método de autenticación y el tipo de autenticación del dominio de autenticación se indican en el campo WWW-Authenticate del encabezado de respuesta HTTP

Importación solicitudes
 de requests.auth importación HTTPBasicAuth 
URL = ' 192.613.001.002 ' 
# de autenticación introducir un nombre de usuario y una contraseña de usuario para el sistema de autenticación por 
R ^ requests.get = (URL = URL, auth = HTTPBasicAuth ( ' Usuario ' , ' password ' ))
 print (r.content)

2. Certificación Netrc 

Si el método de autenticación no recibe el parámetro de autenticación  , Requests  intentará obtener la identidad de autenticación requerida por el nombre de host  de la URL del archivo  netrc del usuario 

3. Autenticación implícita

autenticación de resumen : propuesta en HTTP 1.1 , el propósito es reemplazar el método de autenticación básico propuesto en http 1.0

Procesamiento de la sesión

1. El objeto de sesión de la biblioteca de solicitudes puede ayudarnos a mantener ciertos parámetros en todas las solicitudes y también a mantener cookies entre todas las solicitudes emitidas por la misma instancia de sesión .

2. El objeto de sesión de la biblioteca de solicitudes también puede proporcionarnos los datos predeterminados del método de solicitud al establecer los atributos del objeto de sesión.

solicitudes de importación 
key = request.Session () 
file = key.get ( ' http://www.baidu.com ' )
 print (file.cookies)

 

Supongo que te gusta

Origin www.cnblogs.com/070727sun/p/12735300.html
Recomendado
Clasificación