i know use urllib2 to fetch webpage is easy, but i want to know is there an sample for use socket implement fetch webpage function, i google a lot,i didn't found any example in this,could any one help?
Asked
Active
Viewed 1.5k times
10
-
Why do you want to do this? – JeffS Jan 03 '13 at 14:34
-
http://blog.tonycode.com/tech-stuff/http-notes/making-http-requests-via-telnet Is a decent example of how to perform the raw requests via telnet which can be directly translated to `python` socket sends. – sean Jan 03 '13 at 14:35
-
http is based on socket stream protocal,so if i could know how to implement it under urllib2,than i can know more knowledge & backgroud on http – maolingzhi Jan 03 '13 at 15:32
1 Answers
18
Here's something I whipped up. It doesn't catch exceptions to handle errors. YMMV
import socket
request = b"GET / HTTP/1.1\nHost: stackoverflow.com\n\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("stackoverflow.com", 80))
s.send(request)
result = s.recv(10000)
while (len(result) > 0):
print(result)
result = s.recv(10000)

selbie
- 100,020
- 15
- 103
- 173
-
I always wondered what socket examples looked like. Thankfully I use requests or urllib. Might look into learning socket so I can appreciate it more than I do now. – Danijel-James W Feb 22 '18 at 03:53
-
it doesn't catch exception doesn't mean it won't, You should put your connection code under try catch block to avoid it. – Fay007 Nov 18 '18 at 20:56
-
I have a service with the path "http://example.com/sensors/premises" how can I apply this code to make a GET request? i tried to put my domain name into Host definition and put it also into connect function, but always get a Forbedden response from the service, even though from the browser the same URL is available. – Liudmila Dobriakova Jun 28 '22 at 09:43