0
私はユーザにURLを要求してページを読むことができるようにしようとしていますが、プログラムを実行すると400の悪いリクエストエラーが発生します。ユーザ入力でソケットGETリクエストを送信する構文は何ですか
私は自分の入力からホストとのソケット接続を確立しました。しかし、私がGET要求を送信しようとすると、それは400の悪い要求エラーで私を爆破します。私はどうしたらいいですか?
import socket
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
url = raw_input('Enter - ')
splt = url.split('/')
mysock.connect((splt[2], 80))
mysock.send('GET url \n\n')
except:
print 'invalid URL'
while True:
data = mysock.recv(512)
if (len(data) < 1):
break
print data
mysock.close()
[urllib2](https://docs.python.org/2/library/urllib2.html)または[要求](http://docs.python-requests.org/ja/master)を使用するとよいでしょう。 /)を使用します。 – albert
あなたは*間違いなく*要求を代わりに使用します。 –
urllib2を使用してこの問題を解決してください。 は、ユーザに のURLを入力するように指示し、ウェブページを読むことができます。 split( '/')を使用すると、URLを のコンポーネント部分に分割して、ソケット接続呼び出しのホスト名を抽出できます。 tryとexceptを使用してエラーチェックを追加し、ユーザー が不適切な形式のURLまたは存在しないURLを入力した状態を処理します。 –