httplib注意事项
1.使用httplib进行post请求时遇到错误:
Exception happened during processing of request from ('192.168.8.23', 58164) Traceback (most recent call last): File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock self.process_request(request, client_address) File "C:\Python27\lib\SocketServer.py", line 310, in process_request self.finish_request(request, client_address) File "C:\Python27\lib\SocketServer.py", line 323, in finish_request self.RequestHandlerClass(request, client_address, self) File "d:\svn dir\pms\trunk\eggs\django-1.3.1-py2.7.egg\django\core\servers\bas ehttp.py", line 570, in __init__ BaseHTTPRequestHandler.__init__(self, *args, **kwargs) File "C:\Python27\lib\SocketServer.py", line 640, in __init__ self.finish() File "C:\Python27\lib\SocketServer.py", line 693, in finish self.wfile.flush() File "C:\Python27\lib\socket.py", line 303, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [Errno 10053]
错误原因是url的问题:
conn = httplib.HTTPConnection(ip,8080,timeout=20) conn.request(method='post',url='/npm',body=simplejson.dumps(list(data)),headers = {'Content-Type': 'application/json'}) response = conn.getresponse() conn.close()
这个url在我的应用里找不到,我的应用中的地址是/npm/,没有这个斜杠会导致请求重定向。post请求就报错了,get请求却不会受影响。