2014年9月29日月曜日

開発環境

Head First C ―頭とからだで覚えるCの基本(David Griffiths (著)、Dawn Griffiths (著) 中田 秀基(監訳)(翻訳)、木下 哲也 (翻訳)、オライリージャパン)の11章(ソケットとネットワーキング: 127.0.0.1という場所はない)、コードマグネット(p.494)をpythonで考えてみる。

コードマグネット(p.494)

コード(BBEdit, Emacs)

sample494.py

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import sys
import socket

d_sock = socket.socket()
host = 'en.wikipedia.org'
port = 80
address = (host, port)
d_sock.connect(address)
d_sock.send(('GET /wiki/{0} http/1.1\r\n' +
             'Host: en.wikipedia.org\r\n\r\n').format(
                 sys.argv[1]).encode('utf-8'))

data = d_sock.recv(255)
while data != b'':
    print(data.decode(), end='')
    data = d_sock.recv(255)

d_sock.close()

入出力結果(Terminal, IPython)

$ ./sample494.py "O'Reilly_Media"
HTTP/1.1 200 OK
Server: Apache
X-Content-Type-Options: nosniff
Content-language: en
X-UA-Compatible: IE=Edge
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Last-Modified: Sat, 27 Sep 2014 12:49:10 GMT
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding,Cookie,X-Use-HHVM
X-Varnish: 2240575341, 2820516819, 1319165219
Via: 1.1 varnish, 1.1 varnish, 1.1 varnish
Transfer-Encoding: chunked
Date: Mon, 29 Sep 2014 06:11:45 GMT
Age: 0
Connection: keep-alive
X-Cache: cp1055 miss (0), cp4018 miss (0), cp4010 frontend miss (0)
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
X-Analytics: php=zend
// 省略

 </body>
</html>
 
0

$

0 コメント:

コメントを投稿