Ein einfacher HTTP-Client, der in Python implementiert ist

Überblick

Ein einfacher HTTP-Client, der nach dem Üben von Python erstellt wurde

Umgebung

Python 3.4.3

Wie benutzt man

Wenn der Befehl python3 lautet, lesen Sie ihn bitte entsprechend.

$python http1.0.py 'IP Adresse' 'Dateiname zum Speichern des zurückgegebenen HTML'

Ergänzung

Da es mühsam war, das Überspringen des Headers zu schreiben, suchte ich alle Teile mit zwei aufeinander folgenden Zeilenumbrüchen von vorne ab und schnitt sie mit Scheiben ab. Die Ausnahme ist der Stil, vorerst alles zu fangen.

Quellcode

http1.0.py


import socket
import sys
import traceback

def main():
    #Set max buffer size
    max_size = 8192

    argv = sys.argv
    argc = len(argv)

    #Check commandline parameter
    if(argc != 3):
        sys.stderr.write('Usage: python http1.0.py [ADDRESS] [FILE]\nor\n')
        sys.stderr.write('Usage: python3 http1.0.py [ADDRESS] [FILE]\n')
        exit()

    address = (argv[1], 80)
    filename = argv[2]

    try:
        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    #Create socket
        client.connect(address)    #Connect
        client.sendall(b'GET / HTTP/1.0\r\n\r\n')    #Send GET command
        data = client.recv(max_size).decode('utf-8')    #Receive data and decode
        client.close()  #Close

        #Cut header
        index = data.find('\r\n\r\n')
        data = data[index:]

        #Write HTML file
        fout = open(filename, 'w')
        fout.write(data)
        fout.close()

    except:
        sys.stderr.write(traceback.format_exc())
        exit()


if __name__ == '__main__':
	main()

Recommended Posts

Ein einfacher HTTP-Client, der in Python implementiert ist
Einfacher IRC-Client mit Python
Implementierung eines einfachen Algorithmus in Python 2
Führen Sie einen einfachen Algorithmus in Python aus
Versuchen Sie, eine einfache Animation in Python zu zeichnen
Erstellen Sie eine einfache GUI-App in Python
Schreiben Sie eine einfache Giermethode in Python
Schreiben Sie ein einfaches Vim-Plugin in Python 3
Einfacher gRPC in Python
HTTP-Anfrage in Python
SimRank in Python implementiert
Shiritori in Python implementiert
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Einfache Pub / Sub-Programmhinweise in Python
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Richten Sie einen einfachen SMTP-Server in Python ein
Machen Sie einen Screenshot in Python
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Schreiben Sie ein super einfaches molekulardynamisches Programm in Python
Verwenden Sie den HTTP-Cache in Python
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Erstellen Sie ein Lesezeichen in Python
Implementierte Supreme Solver in Python 3
Einfache Regressionsanalyse mit Python
Einfacher HTTP-Server für Python
Zeichne ein Herz in Python
Ich habe einen Vim-ähnlichen Ersetzungsbefehl in Slackbot #Python implementiert
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
So geben Sie das öffentliche Verzeichnis Python Simple HTTP Server an
Eine einfache Möglichkeit, mehrere for-Schleifen in Python zu vermeiden
[MQTT / Python] Implementierte eine Klasse, die Pub / Sub von MQTT in Python ausführt
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Erste einfache Regressionsanalyse in Python
Drücken Sie einen Befehl in Python (Windows)
Implementierte Bildsegmentierung in Python (Union-Find)
Einfaches OAuth 2 mit Python (urllib + oauthlib)
Erstellen Sie einen DI-Container mit Python
Schreiben Sie einen HTTP / 2-Server in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
ABC166 in Python A ~ C Problem
Schreiben Sie A * (A-Stern) -Algorithmen in Python
In Python implementierte Widrow-Hoff-Lernregeln
Erstellen Sie eine Binärdatei in Python
Implementierte Methode zur Weitergabe von Etiketten in Python
Löse ABC036 A ~ C mit Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Implementierte Perceptron-Lernregeln in Python
Löse ABC037 A ~ C mit Python
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Einfache Gacha-Logik in Python geschrieben
Implementiert in 1 Minute! LINE Benachrichtigen in Python