es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviar múltiples parámetros con el mismo nombre en una solicitud POST.

Tratando de iniciar sesión en este sitio usando Python https://sis.yu.edu.jo/pls/yuapps/f?p=134:101:165660500709862:::::

He notado (utilizando BurpSuite) que hay múltiples parámetros que se deben enviar con el mismo nombre pero con valores diferentes (el parámetro “pargnames” tiene 4 valores constantes diferentes).

datos ={‘pflowid’:’134′,’pflowstepid’:’101′,’pinstance’:qw.attrs[‘value’],’ppagesubmissionid’:div.attrs[‘value’],’prequest’:’LOGIN’,’pargnames’:’3808843104802386083′,’pt01′:’%D9%8A%D8%B..etc’,’pargnames’:’1235407356725963′,’pt02′:’http%3A%2F%2Fwww.yu.edu.jo’,’pargnames’:’174514341787584706′,’pt03′:’nombre de usuario’,’pargnames’:’174514439646584711′,’pt04′:’gggg’,’pmd5checksum’:”

¿Cómo puedo enviarlos con una petición POST? Simplemente ponerlos genera un error “404 Not Found”.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para enviar varios parámetros con el mismo nombre pero diferentes valores mediante una solicitud POST en Python, se puede utilizar el módulo requests. Aquí hay un ejemplo de código:

    import requests
    
    url = 'https://sis.yu.edu.jo/pls/yuapps/f?p=134:101:165660500709862:::::'
    data = {
        'p_flow_id': '134',
        'p_flow_step_id': '101',
        'p_instance': 'qw.attrs[\'value\']',
        'p_page_submission_id': 'div.attrs[\'value\']',
        'p_request': 'LOGIN',
        'p_arg_names': ['3808843104802386083', '1235407356725963', '174514341787584706', '174514439646584711'],
        'p_t01': '%D9%8A%D8%B..etc',
        'p_t02': 'http%3A%2F%2Fwww.yu.edu.jo',
        'p_t03': 'username',
        'p_t04': 'gggg',
        'p_md5_checksum': ''
    }
    
    respuesta = requests.post(url, data=data)
    print(respuesta.text)
    

    En el diccionario data, se ha incluido el parámetro p_arg_names como una lista con todos sus diferentes valores. Cuando se realiza la solicitud POST utilizando requests.post(), el diccionario data se codifica automáticamente y se envía en el cuerpo de la solicitud.

    Tenga en cuenta que la URL en el ejemplo de código es solo un ejemplo y es posible que no funcione si el sitio ha cambiado o requiere autenticación.

Comments are closed.