[DUVIDA] BAD REQUEST 404 - Python [DUVIDA]

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

Pedersini
Pedersini

(usa Debian)

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



  


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

Lisandro Guerra
Lisandro

(usa Arch Linux)

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]

Pedersini
Pedersini

(usa Debian)

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






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts