我希望能够构建原始HTTP请求并使用套接字发送它。很显然,你会希望我使用类似urllib和urllib2的东西,但我不想使用它。使用套接字创建原始HTTP请求
它必须是这个样子:
import socket
tcpsoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsoc.bind(('72.14.192.58', 80)) #bind to googles ip
tcpsoc.send('HTTP REQUEST')
response = tcpsoc.recv()
很明显,你也必须要求页/文件和get和post参数
原则上来说,这很容易,你发送'GET someurl HTTP/1.1',接着是'Host:theserversname',然后是两个换行符。让它变得复杂的是,你必须解析一百万个选项和一百万个可能的答案(这就是为什么用户会说“使用一个库”)。 – Damon 2011-04-22 12:47:36
您需要tcpsoc.connect而不是绑定。绑定是用于侦听套接字... – Milan 2011-04-22 12:51:47
这里有一个连接的例子:http://docs.python.org/library/socket.html#example – Milan 2011-04-22 12:52:45