Pular para o conteúdo

[DUVIDA] BAD REQUEST 404 - Python [DUVIDA]

Responder tópico
  • Denunciar
  • Indicar

1. [DUVIDA] BAD REQUEST 404 - Python [DUVIDA]

Enviado em 16/09/2020 - 01:36h

Boa noite senhores,

Estou tentando enviar um usuario e senha via POST pelo python mas não está funcionando.

Meu codigo está igual de outra pessoa, mas no meu python não rola.

Alguma dica?

Não queria usar outras bibliotecas.

import socket

request2="POST /login HTTP/1.1\r\n"
request2+="Host: 172.16.1.20\r\n"
request2+="User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0\r\n"
request2+="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
request2+="Accept-Language: en-US,en;q=0.5\r\n"
request2+="Accept-Encoding: gzip, deflate\r\n"
request2+="Referer: http://172.16.1.20/login\r\n";
request2+="Content-Type: application/x-www-form-urlencoded\r\n"
request2+="Content-Length: 29\r\n"
request2+="Connection: keep-alive\r\n"
request2+="Upgrade-Insecure-Requests: 1\r\n"
request2+="\r\n"
request2+="username=teste&password=teste\r\n"

socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect(("172.16.1.20",80))
socket.send(request2)
resposta = socket.recv(2048)
print resposta


HTTP/1.1 400 Bad Request

Responder tópico

2. Re: [DUVIDA] BAD REQUEST 404 - Python [DUVIDA]

Enviado em 16/09/2020 - 09:52h

Qual sua versão de Python?

Sugestão para Python 3:


host = "172.16.1.20"
port = 80

headers = """\
POST /login HTTP/1.1\r
Content-Type: {content_type}\r
Content-Length: {content_length}\r
Host: {host}\r
Connection: close\r
\r\n"""

body = 'username=testeh&password=teste'
body_bytes = body.encode('ascii')
header_bytes = headers.format(
content_type="application/x-www-form-urlencoded",
content_length=len(body_bytes),
host=str(host) + ":" + str(port)
).encode('iso-8859-1')

payload = header_bytes + body_bytes

socket.sendall(payload)


Abraço

3. Re: [DUVIDA] BAD REQUEST 404 - Python [DUVIDA]

Enviado em 16/09/2020 - 14:04h

Lisandro escreveu:

Qual sua versão de Python?

Sugestão para Python 3:


host = "172.16.1.20"
port = 80

headers = """\
POST /login HTTP/1.1\r
Content-Type: {content_type}\r
Content-Length: {content_length}\r
Host: {host}\r
Connection: close\r
\r\n"""

body = 'username=testeh&password=teste'
body_bytes = body.encode('ascii')
header_bytes = headers.format(
content_type="application/x-www-form-urlencoded",
content_length=len(body_bytes),
host=str(host) + ":" + str(port)
).encode('iso-8859-1')

payload = header_bytes + body_bytes

socket.sendall(payload)


Abraço


Obrigado, mas eu estou usando o python 2.7 amigo

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder