python发送HTTP请求的方法小结

本文实例讲述了python发送HTTP请求的方法。分享给大家供大家参考。具体如下:

这里包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求

1. GET 方法:

>>> import httplib
>>> conn = httplib.HTTPConnection("www.python.org")
>>> conn.request("GET", "/index.html")
>>> r1 = conn.getresponse()
>>> print r1.status, r1.reason
200 OK
>>> data1 = r1.read()
>>> conn.request("GET", "/parrot.spam")
>>> r2 = conn.getresponse()
>>> print r2.status, r2.reason
404 Not Found
>>> data2 = r2.read()
>>> conn.close()

2. HEAD 方法:

>>> import httplib
>>> conn = httplib.HTTPConnection("www.python.org")
>>> conn.request("HEAD","/index.html")
>>> res = conn.getresponse()
>>> print res.status, res.reason
200 OK
>>> data = res.read()
>>> print len(data)
0
>>> data == ''
True

3. POST 方法:

>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
...      "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • Python urllib、urllib2、httplib抓取网页代码实例

    使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上demo代码了 包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳转处理 #!/usr/bin/python # -*- coding:utf-8 -*- # urllib2_test.py # author: wklken # 2012-03-17 wklken@yeah.ne

  • 使用Python来编写HTTP服务器的超级指南

    首先,到底什么是网络服务器? 简而言之,它是在物理服务器上搭建的一个网络连接服务器(networking server),永久地等待客户端发送请求.当服务器收到请求之后,它会生成响应并将 其返回至客户端.客户端与服务器之间的通信,是以HTTP协议进行的.客户端可以是浏览器,也可以是任何支持HTTP协议的软件. 那么,网络服务器的简单实现形式会是怎样的呢?下面是我对此的理解.示例代码使用Python语言实现,不过即使你不懂Python语言,你应该也可以从代码和下面的 解释中理解相关的概念: imp

  • 使用Python的Treq on Twisted来进行HTTP压力测试

    从事API相关的工作很有挑战性,在高峰期保持系统的稳定及健壮性就是其中之一,这也是我们在Mailgun做很多压力测试的原因. 这么久以来,我们已经尝试了很多种方法,从简单的ApacheBench到复杂些的自定义测试套.但是本贴讲述的,是一种使用python进行"快速粗糙"却非常灵活的压力测试的方法. 使用python写HTTP客户端的时候,我们都很喜欢用 Requests library.这也是我们向我们的API用户们推荐的.Requests 很强大,但有一个缺点,它是一个模块化的每线

  • Python内置的HTTP协议服务器SimpleHTTPServer使用指南

    首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要.Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了: python -m SimpleHTTPServer 80 后面的80端口是可选的,不填会采用缺省端口8000.注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址: http://localhost:80 如果当前文件夹有index.html文件

  • 使用httplib模块来制作Python下HTTP客户端的方法

    httplib 是 python中http 协议的客户端实现,可以使用该模块来与 HTTP 服务器进行交互.httplib的内容不是很多,也比较简单.以下是一个非常简单的例子,使用httplib获取google首页的html: #coding=gbk import httplib conn = httplib.HTTPConnection("www.google.cn") conn.request('get', '/') print conn.getresponse().read()

  • Python中用pycurl监控http响应时间脚本分享

    最近需要对节点到源站自己做个监控,简单的ping可以检测到一些东西,但是http请求的检查也要进行,于是就研究了下pycurl. pycurl是个用c语言实现的python 库,虽然据说不是那么pythonic,但是却很高效,它支持的协议居多: supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PU

  • Python自动重试HTTP连接装饰器

    有时候我们要去别的接口取数据,可能因为网络原因偶尔失败,为了能自动重试,写了这么一个装饰器. 这个是python2.7x 的版本,python3.x可以用 nonlocal 来重写. #-*- coding: utf-8 -*- #all decorators in this tool file #author: orangleliu ############################################################ #http连接有问题时候,自动重连 de

  • Python使用scrapy采集时伪装成HTTP/1.1的方法

    本文实例讲述了Python使用scrapy采集时伪装成HTTP/1.1的方法.分享给大家供大家参考.具体如下: 添加下面的代码到 settings.py 文件 复制代码 代码如下: DOWNLOADER_HTTPCLIENTFACTORY = 'myproject.downloader.HTTPClientFactory' 保存以下代码到单独的.py文件 复制代码 代码如下: from scrapy.core.downloader.webclient import ScrapyHTTPClien

  • Python中http请求方法库汇总

    最近在使用python做接口测试,发现python中http请求方法有许多种,今天抽点时间把相关内容整理,分享给大家,具体内容如下所示: 一.python自带库----urllib2 python自带库urllib2使用的比较多,简单使用如下: import urllib2 response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true') print response.read() 简单的get请求

  • python发送HTTP请求的方法小结

    本文实例讲述了python发送HTTP请求的方法.分享给大家供大家参考.具体如下: 这里包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求 1. GET 方法: >>> import httplib >>> conn = httplib.HTTPConnection("www.python.org") >>> conn.request("GET", "/index.html&

  • python 使用 requests 模块发送http请求 的方法

    Requests具有完备的中英文文档, 能完全满足当前网络的需求, 它使用了urllib3, 拥有其所有的特性! 最近在学python自动化,怎样用python发起一个http请求呢? 通过了解 request 模块可以帮助我们发起http请求 步骤: 1.首先import 下 request 模块 2.然后看请求的方式,选择对应的请求方法 3.接受返回的报文信息 例子:get 方法 import requests url ="https://www.baidu.com" res =

  • python 发送get请求接口详解

    简介 如果想用python做接口测试,我们首先有不得不了解和学习的模块.它就是第三方模块:Requests. 虽然Python内置的urllib模块,用于访问网络资源.但是,它用起来比较麻烦,而且,缺少很多实用的高级功能.更好的方案是使用 requests.它是一个Python第三方库,处理URL资源特别方便.查看其中文官网:http://cn.python-requests.org/zh_CN/latest/index.html英文官网:http://www.python-requests.o

  • 解决Python发送Http请求时,中文乱码的问题

    解决方法: 先encode再quote. 原理: msg.encode('utf-8')是解决中文乱码问题. quote():假如URL的 name 或者 value 值中有『&』.『%』或者『=』等符号,就会有问题.所以URL中的参数字符串也需要把『&=』等符号进行编码,quote()就是对参数字符串中的『&=%』等符号进行编码. 例子: # -*- coding: UTF-8 -*- # python2.7 from urllib import quote import req

  • python字符类型的一些方法小结

    int 数字类型 class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are given. If x is floating point, the conversion truncates towards zero. If

  • PHP使用socket发送HTTP请求的方法

    本文实例讲述了PHP使用socket发送HTTP请求的方法.分享给大家供大家参考,具体如下: socket方式: $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec"=>20, "usec"=>0)); socket_connect($socket, 'www.bai

  • 使用Script元素发送JSONP请求的方法

    使用Script元素发送JSONP请求的方法 // 根据指定URL发送一个JSONP请求 //然后把解析得到的相应数据传递给回调函数 //在URL中添加一个名为jsonp的查询参数,用于指定该请求的回调函数的名称 function getJSONP(url, callback){ //为本次请求创建一个唯一的回调函数名称 var cbnum = "cb"+getJSONP.counter++; var cbname = "getJSONP."+cbnum; if(u

  • Python发送http请求解析返回json的实例

    python发起http请求,并解析返回的json字符串的小demo,方便以后用到. #! /usr/bin/env python # -*- coding:gbk -*- import os import sys import json import urllib import urllib2 if __name__ == "__main__": query_file = sys.argv[1] query_index = 0 with open(query_file, 'r') a

  • C#基于HttpWebRequest实现发送HTTP请求的方法分析

    本文实例讲述了C#基于HttpWebRequest实现发送HTTP请求的方法.分享给大家供大家参考,具体如下: 调用第三方API的时候要用到HttpWebRequest类发送HTTP请求,网上查阅一番后大致了解了该类的用法,现记录如下. 首先引入HttpWebRequest类,System.IO类 using HttpWebRequest using System.IO GET请求 /// <summary> /// 发送GET请求 /// </summary> /// <p

  • Python发送form-data请求及拼接form-data内容的方法

    网上关于使用python 的发送multipart/form-data的方法,多半是采用 ulrlib2 的模拟post方法,如下: import urllib2 boundary='-------------------------7df3069603d6' data=[] data.append('--%s' % boundary) data.append('Content-Disposition: form-data; name="app_id"\r\n') data.appen

随机推荐