私は、ユーザーが入力したWebサイトからHTMLコードを取得するコードを記述しようとしています。私はurllibや他のライブラリを使わずにこれを書く必要があります。Python HTTP GET。 "間違った要求"
from socket import *
url = (input("Please enter url: "))
host=gethostbyname(url)
clientSocket = socket(AF_INET, SOCK_STREAM)
clientSocket.connect((host,80))
clientSocket.send(("GET " + host + "HTTP/1.1\n\n").encode("UTF-8"))
file = clientSocket.recv(1024)
print("The html code: ", file.decode("UTF-8"))
clientSocket.close()
コードはうまく動作します。しかし、そのような「www.stackoverflow.comは」私はホストからの「不正な要求」レスポンスを得るようにI入力のWebサイト:から実際のHTMLコードを取得するために、正しい要求されるもの
The html code: HTTP/1.1 400 Bad Request
Date: Wed, 23 Mar 2016 16:14:27 GMT
Content-Type: text/html
Content-Length: 177
Connection: close
Server: -nginx
CF-RAY: -
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>cloudflare-nginx</center>
</body>
</html>
をサーバー。ありがとうございます
ありがとうございました!しかし、私の教授は、私の代わりにURLを入力するようユーザーに要求しています。これは私が問題を抱えているところです。異なるサイトには異なるパスがあり、それを一般化する方法はわかりません。 – JulianP
それから、コンポーネントにそれを解析するために 'urlparse'を使用してください –
私の無知を許そうとしていますが、私はその作業をどうするか分かりません。私はネットワーキングの紹介にすぎず、教授はあまり役に立ちません。私がこれまで行ってきたことはすべて私自身の研究で得たのですが、道路ブロックにいるような気がします。 – JulianP