A simple http client.

It gets the contents of special webserver page and print it.(Default path is "/")

#!/usr/share/env python
#coding:utf-8 import argparse
import httplib #设置默认访问url和端口
REMOTE_SERVER_HOST='www.python.org'
REMOTE_SERVER_PATH='/' class HTTPClient(object):
"""
docstring for HTTPClient
Eg: python HTTPClient.py --host=www.iana.org
       python HTTPClient.py --host=www.iana.org --path='/domains/reserved'
"""
def __init__(self, host):
self.host = host def fetch(self,path):
http = httplib.HTTP(self.host) #设置请求头信息
http.putrequest("GET",path)
http.putheader("User-Agent",__file__)
http.putheader("Host",self.host)
http.putheader("Accept","*/*")
http.endheaders() try:
#getreply方法返回service code ,service reseason,RFC82 headers
errcode,errmsg,headers = http.getreply()
except Exception,e:
print "Client failed code: %s message: %s headers: %s" %(errcode,errmsg,headers)
else:
print "Got homepage from %s" %self.host #打印获取的内容
file = http.getfile()
return file.read() if __name__ == '__main__':
parse = argparse.ArgumentParser(description='HTTP Client Example')
parse.add_argument('--host',action="store",dest="host",default=REMOTE_SERVER_HOST)
parse.add_argument('--path',action="store",dest="path",default=REMOTE_SERVER_PATH)
given_args = parse.parse_args()
host,path = given_args.host,given_args.path
client = HTTPClient(host)
print client.fetch(path)

  

python网络编程 — HTTP客户端的更多相关文章

  1. python网络编程--TCP客户端的开发

    #导入socket模块 2 import socket 3 #参数说明 4 """ 5 socket类的介绍 6 创建客户端socket对象 7 socket.socke ...

  2. Python 网络编程(二)

    Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...

  3. Python 网络编程(一)

    Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...

  4. Python学习(22)python网络编程

    Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...

  5. Day07 - Python 网络编程 Socket

    1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...

  6. python网络编程-01

    python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...

  7. python 网络编程(Socket)

    # from wsgiref.simple_server import make_server## def RunServer(environ,start_response):# start_resp ...

  8. python 网络编程 IO多路复用之epoll

    python网络编程——IO多路复用之epoll 1.内核EPOLL模型讲解     此部分参考http://blog.csdn.net/mango_song/article/details/4264 ...

  9. Python 网络编程相关知识学习

    Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...

随机推荐

  1. 蓝桥杯 C语言 入门训练 Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  2. 读headFirst设计模式 - 策略模式

    有些人已经解决你的问题了 什么是设计模式?我们为什么要使用设计模式?怎样使用?按照书上的说法和我自己的理解,我认为是这样的:我们遇到的问题其他开发人员也遇到过,他们利用他们的智慧和经验将问题解决了,把 ...

  3. Mac下使用charles遇到的问题以及解决办法

    最近使用上了Charles,因为之前一直使用Fidder,所以还是碰到了一些问题,这里记录一下. 如何安装破解版 打开charles后,发现访问但是抓不到包 抓取HTTPS的接口,看response是 ...

  4. Kotlin的扩展函数:扩展Android框架(KAD 08)

    作者:Antonio Leiva 时间:Jan 11, 2017 原文链接:https://antonioleiva.com/extension-functions-kotlin/ 扩展函数是Kotl ...

  5. saltstack布署实践 【安装】

    借用链接http://www.cnblogs.com/liuyansheng/p/6094122.html的安装方式,我再同步一下其它操作系统的安装方式,由原Docker官网拷贝 Ubuntu1404 ...

  6. WPF 后台绑定样式

    private ContentControl cc = null; private void muiscPlay(object sender, RoutedEventArgs e) { string ...

  7. ipad 横屏 竖屏 CSS

    /* iPads (landscape) ----------- */ @media only screen and (min-device-width : 768px) and (max-devic ...

  8. 修改/etc/resolv.conf又恢复到原来的状态?[转]

    新装一台机器环境为服务器主板,双网卡,系统为CentOS5.4 ,eth0为内网ip,eth1为公网ip.但是由于在本地测试,设置的内网ip,域名服务器同样使用的是上海本地的域名解析,没有问题,可以上 ...

  9. SSH 一些错误的解决办法

    1.主动访问的机器需要创建私钥和公钥 (client) #cd ~#mkdir .ssh#chmod 700 .ssh#cd .ssh#ssh-keygen -t rsa //一路回车,各种提示按默认 ...

  10. Tensorflow (1)

    'tf.placeholder' or 'tf.Variable' The difference is that with tf.Variable you have to provide an ini ...