10

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?

3
  • Why do you want to do this? Commented Jan 3, 2013 at 14:34
  • blog.tonycode.com/tech-stuff/http-notes/… Is a decent example of how to perform the raw requests via telnet which can be directly translated to python socket sends. Commented Jan 3, 2013 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 Commented Jan 3, 2013 at 15:32

1 Answer 1

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)   
Sign up to request clarification or add additional context in comments.

3 Comments

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.
it doesn't catch exception doesn't mean it won't, You should put your connection code under try catch block to avoid it.
I have a service with the path "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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.