HTTP Protocol Client

Steve Holden steve at holdenweb.com
Wed Sep 19 08:25:43 EDT 2007


welcomestocontact at gmail.com wrote:
>  Hi,
> 
> I am writing http protocol to get some data from servers. If i was
> using my localhost, getting replay from local and if want access other
> remote sites, i am getting error. Please reply it
> 
> My localhost client script:::
> 
> Code: ( python )
> 
> 
> import httplib
> 
> h = httplib.HTTP('localhost',80)
> 
> h.putrequest('GET','')
> 
> h.putheader('User-Agent','Lame Tutorial Code')
> 
> h.putheader('Accept','text/html')
> 
> h.endheaders()
> 
> errcode,errmsg, headers = h.getreply()
> 
> print errcode,errmsg, headers
> 
> 
> f = h.getfile() # Get file object for reading data
> 
> data = f.read()
> 
> print data
> 
> f.close()
> 
> 
> 
> 
> 
> the Reply getting from this::::
> 
> 
> 403 Forbidden Date: Tue, 18 Sep 2007 05:20:36 GMT
> 
> Server: Apache/2.0.52 (Red Hat)
> 
> Accept-Ranges: bytes
> 
> Content-Length: 3985
> 
> Connection: close
> 
> Content-Type: text/html; charset=UTF-8
> 
> And some Html script
> 
> 
> 
> 
> If I want to access other sites:::
> 
> 
> import httplib
> 
> h = httplib.HTTP('http://Google.com',80)
> 
> h.putrequest('GET','')
> 
> h.putheader('User-Agent','Lame Tutorial Code')
> 
> h.putheader('Accept','text/html')
> 
> h.endheaders()
> 
> 
> 
> errcode,errmsg, headers = h.getreply()
> 
> print errcode,errmsg, headers
> 
> 
> f = h.getfile() # Get file object for reading data
> 
> data = f.read()
> 
> print data
> 
> f.close()
> 
> 
> I got the error like:::
> 
> Traceback (most recent call last):
> File "c.py", line 6, in ?
> h.endheaders()
> File "/usr/lib/python2.3/httplib.py", line 712, in endheaders
> self._send_output()
> File "/usr/lib/python2.3/httplib.py", line 597, in _send_output
> self.send(msg)
> File "/usr/lib/python2.3/httplib.py", line 564, in send
> self.connect()
> File "/usr/lib/python2.3/httplib.py", line 532, in connect
> socket.SOCK_STREAM):
> socket.gaierror: (-2, 'Name or service not known')
> 
> 
> How can I access Remote sites using http protocol . I did'nt write
> server script.
> 
I would recommend taking a look at urllib or urllib2 if you just want to 
write an HTTP client that accesses the server output, there is no need 
to re-implement low-level HTTP calls.

regards
  Steve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC/Ltd           http://www.holdenweb.com
Skype: holdenweb      http://del.icio.us/steve.holden

Sorry, the dog ate my .sigline




More information about the Python-list mailing list