httplib

python get post模拟请求

陌路散爱 提交于 2021-02-15 13:27:05
1.使用get方式时。url相似例如以下格式: [html] view plain copy index.jsp? id = 100 & op = bind GET报问头例如以下: [html] view plain copy GET /sn/index.php? sn = 123 & n = asa HTTP/1.1 Accept: */* Accept-Language: zh-cn host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection:close 2.使用post方式时。POST方法将请求參数封装在HTTP请求数据中,以名称/值的形式出现,能够传输大量数据,可用来传送文件。 POST报文头例如以下: [html] view plain copy POST /sn/index.php HTTP/1.1 Accept: */* Accept-Language: zh-cn host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 12 Connection:close sn = 123 & n = asa 在http头后边有一空行

hashlib,urlparse,urlsplit,urllib,httplib,random,sys.stdout

怎甘沉沦 提交于 2020-12-26 12:59:28
1、hashlib import hashlib hash_new = hashlib.sha1() //调用hashlib里的sha1()生成一个sha1 hash对象 hash_new.update(params_data) //通过update方法对字符串进行sha1加密的更新处理 hash_value = hash_new.hexdigest() //十六进制的结果 return hash_value //返回结果 2、urlparse urlparse : url = ’http://netloc/path;param?query=arg#frag’ parsed = urlparse(url) print parsed 结果:ParseResult(scheme=’http’, netloc=’netloc’, path=’/path’,params=’param’, query=’query=arg’, fragment=’frag’) urlsplit () parsed = urlsplit(url) print parsed 结果:SplitResult(scheme=’http’, netloc=’user:pwd@NetLoc:80’,path=’/p1;param/p2;param’, query=’query=arg’, fragment=’frag’

Python常用功能函数

懵懂的女人 提交于 2020-12-17 06:31:22
Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,* name): format = ' ^ ' context = name[0] for i in name[1 :]: context = context + format + str(i) context = str(context).replace( ' ( ' , ' ( ' ).replace( ' ) ' , ' ) ' ).replace( ' , ' , ' , ' ).replace( ' : ' , ' : ' ) # 去除首位空格 filename = filename.strip() # 读取目录名称 path = os.path.dirname(filename) # 如果目录不存在则创建目录 if not os.path.exists(path): os.makedirs(path) # 读取文件名称 name = os.path.basename(filename) fp = open(filename, ' a ' ) fp.write(context + ' \n ' ) fp.close() 2.创建初始化浏览器 # coding:utf-8 import sys, os, time,

期待已久的beego2.0来了,最简单易用的企业级应用开发框架

元气小坏坏 提交于 2020-12-16 11:01:47
Beego 2.0 初心 模块化与解耦 AOP 初次尝试 更好的可观测性 tracing 和 metrics logging 防呆设计 ORM 姗姗来迟的配置模块优化 adapter 模块和升级指南 未来 Beego 2.0 初心 在鸽子精的本性屡次发作之后,我们终于官宣Beego v2.0要和大家见面了。 在得知我们开启了 Beego 2.0 的时候,很多人问我们,你们搞 2.0 干啥呀? 其实不论是 Beego 1.x 还是 Beego 2.0,我们的初心一直没有改变,也就是希望能够为 Go 企业级应用开发 提供一种 一站式的解决方案 ,尤其是我们希望能够为中小型企业赋能,帮助这些企业提升研发效率、工程质量,以快速推出新产品,快速完成迭代。 我们很多大型企业都有很多规范,但是我们中小企业在规范和基础组件上面经常是很混乱,开发早期都是怎么快怎么来,但是当有新同学加入或者有一个同学离职,就会导致 相同功能 不同的写法 、 引入同一功能的不同组件(例如日志引入 logrus、zap ), 最终会导致 维护困难 、 重构难 ,遇到问题不知道怎么查找问题点,这些都是我们很多企业遇到的困难。 而站在我们打工人的角度,我们也相信,真正的劳动者,不应该是被禁锢在流水线上的囚犯。技术应当解放生产力,将劳动者者从繁琐枯燥的重复性劳动中解放出来,去从事具有创造性艺术性的活动。 所以,我们的设计目标

python -- DNS处理模块dnspython

核能气质少年 提交于 2020-12-06 03:15:21
简介 dnspython – 是python实现的一个DNS工具包,利用其查询功能来实现dns的服务监控及解析结果的校验 安装dnspython pip install dnspython 使用 常见的DNS解析类型包括A、MX、NS、CNAME (1)A记录的查询,实例如下: import dns.resolver domain = raw_input('Please input an domain: ') A = dns.resolver.query(domain, 'A') for i in A.response.answer: for j in i.items: print j.address 运行输入:www.baidu.com,输出结果如下: (2)MX记录 domain = raw_input('Please input an domain: ') MX = dns.resolver.query(domain, 'MX') for i in MX: print 'MX preference =', i.preference, 'mail exchanger =', i.exchange 运行输入:163.com,输出结果如下: (3)NS记录 print '*************NS****************' domain = raw_input(

python通过get方式,post方式发送http请求和接收http响应-urllib urllib2

妖精的绣舞 提交于 2020-04-27 22:07:04
转自: https://www.cnblogs.com/poerli/p/6429673.html 测试用CGI,名字为test.py,放在apache的cgi-bin目录下: #!/usr/bin/ Python import cgi def main(): print "Content-type: text/html\n" form = cgi.FieldStorage() if form.has_key("ServiceCode") and form["ServiceCode"].value != "": print "<h1> Hello",form["ServiceCode"].value,"</h1>" else: print "<h1> Error! Please enter first name.</h1>" main() python发送post和get请求 get请求: 使用get方式时,请求数据直接放在url中。 方法一、 import urllib import urllib2 url = " http://192.168.81.16/cgi-bin/python_test/test.py?ServiceCode=aaaa " req = urllib2.Request(url) print req res_data = urllib2.urlopen

cpp-httplib实现文件上传

北城余情 提交于 2020-04-27 17:13:09
上面的静态文件服务实现了文件的下载,下面实现一下文件的上传 upload 参考: examples 目录下的 upload.cc #include <httplib.h> #include <iostream> #include <fstream> using namespace httplib; using namespace std; const char *html = R " ( <form id= " formElem " > <input type= " file " name= " image_file " accept= " image/* " ><br> <input type= " file " name= " text_file " accept= " text/* " ><br> <input type= " submit " > </form> <script> formElem.onsubmit = async (e) => { e.preventDefault(); let res = await fetch( ' /post ' , { method: ' POST ' , body: new FormData(formElem) }); console.log(await res.text()); }; </script> ) " ; int

metaweblog API csdn python 实现

╄→尐↘猪︶ㄣ 提交于 2020-04-27 11:41:49
layout: post author: "kele" title: "metaweblog API csdn python实现" tags: python metaweblog date: "2018-02-14 22:15:32" metaweblog API csdn python 实现 一直想同步三个博客,梦想很大,一直在找各种工具,但是一个也没有遇到,今天突然发现了一个叫作open live writer的东西,仔细研究了一下发现是一种叫做Metaweblog API的东西,cnblog 和csdn都是支持的,到github上看了一下,发现了python实现cnblog metaweblog api的程序,所以研究了一下,写出了csdn的api #coding:utf-8 import xmlrpclib import os import sys import markdown2 import httplib import mimetypes username= "" password= "" url= "http://write.blog.csdn.net/xmlrpc/index" #server=xmlrpclib.ServerProxy(url) class metaWeblog_csdn : def __init__ ( self ,url,username

用树莓派搭建外网可以访问的服务器

£可爱£侵袭症+ 提交于 2020-04-26 13:55:30
一、需要一个对外的公网IP   先查看路由器的对外IP 是否是公网IP,如果不是,可以致电宽带运营商,要求分配公网IP。对于普通用户,宽带运营商分配的公网IP是会变化的,每次启路由器,或者间隔一定时间,IP 都会变化一次。不过,这个问题可以解决。 二、 将树莓派的IP 设置为静态IP   这里假设家里的所有上网设备都是通过路由器连接上网。路由器自身的IP是公网的IP,连接路由器的各个设备,分配的都是私有IP。如果树莓派的IP 不是静态的,那么每次重启路由器,路由器的IP 都是会变的,这样不利于实现接下来要说的路由器端口转发功能。 可以通过修改树莓派的配置文件,实现静态IP 的分配。/ect/dhcpcd.conf 文件有静态IP设置的example。 也可以通过修改路由器的配置选项,实现静态IP的分配。登录路由器管理页面,在左侧找到DHCP服务器--静态地址分配,点击添加新条目输入要信息。 我的树莓派是通过自带WIFI连接路由器的,所以MAC地址填的是无线网卡的地址,IP地址填的是为树莓派分配的静态IP. 三、路由器端口映射 1. 拥有公网IP的是路由器,要实现外网访问路由器局域网内的树莓派,需要路由器做转发的处理。 2. 登录路由器管理界面,在左侧找到转发规则--虚拟服务器,按添加新条目添加转发规则。 如上图,添加的是SSH 的转发规则。在远程用putty工具登录树莓派时

How to handle multiple Set-Cookie header in HTTP response

血红的双手。 提交于 2020-02-01 05:09:06
问题 I'm trying to write simple proxy server for some purpose. In it I use httplib to access remote web-server. But there's one problem: web server returns TWO Set-Cookie headers in one response, and httplib mangles them together in httplib.HTTPResponse.getheaders(), effectively joining cookies with comma [which is strange, because getheaders returns a LIST, not DICT, so I thought they wrote it with multiple headers of the same name). So, when I send this joined header back to client, it confuses