python模擬http請求

2022-05-05 22:36:11 字數 2999 閱讀 1422

下文主要講述如何利用python自帶的庫模擬http請求,為以後利用python做api測試做準備。

只講述模擬http的過程,具體到自己用的時候,要以自己的應用為準做出適當的調整。

#

!coding:utf-8 相信這句大家都懂的,不解釋

#匯入需要的python模組httplib,用來模擬提交http請求,詳細的用法可見python幫助手冊

#匯入需要的python模組urllib,用來對資料進行編碼

import

urllib

#定義請求頭

reqheaders=

#定義post的引數

reqdata=

#對請求引數進行編碼

data=urllib.urlencode(reqdata)

#利用httplib庫模擬介面請求

#先連線到人人

#提交登入的post請求

conn.request('

post

', '

/plogin.do

', data, reqheaders)

#獲取伺服器的返回

res=conn.getresponse()

#列印伺服器返回的狀態

print

(res.status)

#以dictionary形式答應伺服器返回的 response header

print

(res.msg)

#列印伺服器返回請求頭中設定的cookie

print(res.getheader('

set-cookie'))

#以下為執行程式後的結果

302登入成功後重定向了

server: nginx/1.2.0

date: sat, 15 feb 2014 04:47:09gmt

content-length: 80connection: keep-alive

cache-control: no-cache

pragma: no-cache

expires: thu, 01 jan 1970 00:00:00gmt

location: 重定向的url

set-cookie: anonymid=hroelq3l-czxmdy; domain=.renren.com; path=/; expires=thu, 14-feb-2019 04:47:09gmt

set-cookie: _de=97fb170a42b4342d1c47a157ad77aafc1383380866d39ff5; domain=.renren.com; path=/; expires=tue, 10-feb-2015 04:47:09gmt

set-cookie: p=31991a0a194c34e606ef1263317b06372; domain=renren.com; path=/; expires=mon, 17-mar-2014 04:47:09gmt

set-cookie: ap=229996362; domain=renren.com; path=/; expires=mon, 17-mar-2014 04:47:09gmt

set-cookie: first_login_flag=1; domain=renren.com; path=/set-cookie: t=c5424876f4a3363b98b6f92e677f04bc2; domain=.renren.com; path=/set-cookie: t=a0196d1d663ad5a060ee47466123042d; domain=renren.com; path=/xtalk/set-cookie: societyguester=c5424876f4a3363b98b6f92e677f04bc2; domain=.renren.com; path=/set-cookie: id=229996362; domain=.renren.com; path=/(這個是返回的人人id)

set-cookie: xnsid=cc216a6b; domain=.renren.com; path=/(有這個就登入成功了)

set-cookie: loginfrom=syshome; domain=.renren.com; path=/

#以下就是cookie了,以後發請求,就可以帶上這個cookie

anonymid=hroelq3l-czxmdy; domain=.renren.com; path=/; expires=thu, 14-feb-2019 04:47:09 gmt, _de=97fb170a42b4342d1c47a157ad77aafc1383380866d39ff5; domain=.renren.com; path=/; expires=tue, 10-feb-2015 04:47:09 gmt, p=31991a0a194c34e606ef1263317b06372; domain=renren.com; path=/; expires=mon, 17-mar-2014 04:47:09 gmt, ap=229996362; domain=renren.com; path=/; expires=mon, 17-mar-2014 04:47:09 gmt, first_login_flag=1; domain=renren.com; path=/, t=c5424876f4a3363b98b6f92e677f04bc2; domain=.renren.com; path=/, t=a0196d1d663ad5a060ee47466123042d; domain=renren.com; path=/xtalk/, societyguester=c5424876f4a3363b98b6f92e677f04bc2; domain=.renren.com; path=/, id=229996362; domain=.renren.com; path=/, xnsid=cc216a6b; domain=.renren.com; path=/, loginfrom=syshome; domain=.renren.com; path=/

python 模擬Http請求

先簡單宣告一下http請求中post和get之間乙個簡單的區別 get請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,引數之間以 相連,如 login.action?name hyddd password idontknow verify e4 bd a0 e...

python模擬http請求2

發現了乙個非常好用的第三方module requests,模擬介面非常簡單。詳細了解請移步 非常不錯 coding utf 8 相信這句大家都懂的,不解釋 匯入需要的requests import requests 定義請求頭 定義post的引數,requests模組,引數不用編碼 reqdata ...

Python模擬HTTP的POST請求

python版本2.7.9 模擬post請求 1 coding u8 2import urllib 3import urllib2 45 url u 6 params urllib.urlencode 78 req urllib2.request url,params 9 response urll...