python发送HTTP GET请求

         最近做的一个模块里需要发送GET请求,带参数的,查了网上很多例子,以及官方文档,都没交代清楚要如何做,大部分都是直接请求了一个页面。官方例子里,只有post请求是比较详细的。没办法,只好自己动手做实验了。现在把实验结果总结如下:

         1.通过 httplib模块

conn = httplib.HTTPConnection(Addr,timeout=7) url=/game/user/info?id=28 conn.request("GET",url) conn.request("GET",url,'',headers) response = conn.getresponse() Data=response.read()  

             这里有必要提一下request的定义:

            

   def request(self, method, url, body=None, headers={}):
        """Send a complete request to the server."""

        try:
            self._send_request(method, url, body, headers)
        except socket.error, v:
            # trap 'Broken pipe' if we're allowed to automatically reconnect
            if v.args[0] != 32 or not self.auto_open:
                raise
            # try one more time
            self._send_request(method, url, body, headers)

 

          对于GET请求来说,因为参数已经带在url里,body是空的,而对于POST来说,body就是发送出去的参数了。

 

           2.通过urllib2

 

           url=/game/user/info?id=28

           full_url='http://192.168.1.250'+url.

           data=urllib2.urlopen(full_url)
           Data=data.read()

          

          

          

 

            

             

         

           

         

 

你可能感兴趣的:(python发送HTTP GET请求)