httpbin.orgzmailform-data格式

Posted 天天开怀乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httpbin.orgzmailform-data格式相关的知识,希望对你有一定的参考价值。

httpbin.org 这个网站能测试 HTTP 请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等,且支持 GET、POST 等多种方法,对 web 开发和测试很有帮助。

它用 Python + Flask 编写,是一个开源项目。


安装方法

使用pip工具分别安装httpbin与guicorn,guicorn是一个wsgi http服务器,详见guicorn 是什么。


  
    
    
  
    #安装pip工具[root@localhost ~]# wget https://bootstrap.pypa.io/get-pip.py[root@localhost ~]# python get-pip.py#分别使用pip工具安装guicorn与httpbin[root@localhost ~]# pip install httpbin[root@localhost ~]# pip install guicorn#启动httpbin[root@localhost ~]# gunicorn -b :8000 httpbin:app[2017-07-11 16:25:29 +0000] [21088] [INFO] Starting gunicorn 19.7.1[2017-07-11 16:25:29 +0000] [21088] [INFO] Listening at: http://0.0.0.0:8000 (21088)[2017-07-11 16:25:29 +0000] [21088] [INFO] Using worker: sync[2017-07-11 16:25:29 +0000] [21093] [INFO] Booting worker with pid: 21093#访问httpbin主页面[root@localhost ~]# lynx localhost:8000

 

接口列表

Endpoint Descirption
/ This page.
/ip Returns Origin IP.
/user-agent Returns user-agent.
/headers Returns header dict.
/get Returns GET data.
/post Returns POST data.
/patch Returns PATCH data.
/put Returns PUT data.
/delete Returns DELETE data
/gzip Returns gzip-encoded data.
/deflate Returns deflate-encoded data.
/status/:code Returns given HTTP Status code.
/response-headers Returns given response headers.
/redirect/:n 302 Redirects n times.
/redirect-to?url=foo 302 Redirects to the foo URL.
/relative-redirect/:n 302 Relative redirects n times.
/cookies Returns cookie data.
/cookies/set?name=value Sets one or more simple cookies.
/cookies/delete?name Deletes one or more simple cookies.
/basic-auth/:user/:passwd Challenges HTTPBasic Auth.
/hidden-basic-auth/:user/:passwd 404'd BasicAuth.
/digest-auth/:qop/:user/:passwd Challenges HTTP Digest Auth.
/stream/:n Streams n – 100 lines.
/delay/:n Delays responding for n – 10 seconds.
/drip Drips data over a duration after an optional initial delay, then (optionally) returns with the given status code.
/range/:n Streams n bytes, and allows specifying a Range header to select a subset of the data. Accepts a chunk_size and request duration parameter.
/html Renders an HTML Page.
/robots.txt Returns some robots.txt rules.
/deny Denied by robots.txt file.
/cache Returns 200 unless an If-Modified-Since or If-None-Match header is provided, when it returns a 304.
/cache/:n Sets a Cache-Control header for n seconds.
/bytes/:n Generates n random bytes of binary data, accepts optional seed integer parameter.
/stream-bytes/:n Streams n random bytes of binary data, accepts optional seed and chunk_size integer parameters.
/links/:n Returns page containing n HTML links.
/forms/post HTML form that submits to /post
/xml Returns some XML
/encoding/utf8 Returns page containing UTF-8 data.

例子

[root@localhost ~]# curl http://httpbin.org/ip{ "origin": "218.189.127.78"}[root@localhost ~]# curl http://httpbin.org/user-agent{ "user-agent": "curl/7.29.0"}[root@localhost ~]# curl https://httpbin.org/get?show_env=1{ "args": { "show_env": "1" },  "headers": { "Accept": "*/*",  "Connect-Time": "0",  "Connection": "close",  "Host": "httpbin.org",  "Total-Route-Time": "0",  "User-Agent": "curl/7.29.0",  "Via": "1.1 vegur",  "X-Forwarded-For": "218.189.127.78",  "X-Forwarded-Port": "443",  "X-Forwarded-Proto": "https",  "X-Request-Id": "392e0fda-5f1b-4cc8-8131-77967bfee9db",  "X-Request-Start": "1499761771703" },  "origin": "218.189.127.78",  "url": "https://httpbin.org/get?show_env=1"}[root@localhost ~]# curl -I http://httpbin.org/status/418HTTP/1.1 418 I'M A TEAPOTConnection: keep-aliveServer: meinheld/0.6.1Date: Tue, 11 Jul 2017 08:29:40 GMTX-Processed-Time: 0.000515937805176Access-Control-Allow-Origin: *X-More-Info: http://tools.ietf.org/html/rfc2324Access-Control-Allow-Credentials: trueX-Powered-By: FlaskContent-Length: 135Via: 1.1 vegur [root@localhost ~]# curl http://httpbin.org/get{ "args": {},  "headers": { "Accept": "*/*",  "Connection": "close",  "Host": "httpbin.org",  "User-Agent": "curl/7.29.0" },  "origin": "218.189.127.78",  "url": "http://httpbin.org/get"}

参考

1、 kennethreitz/httpbin

2、guicorn是什么

本地部署httpbin

httpbin.org是部署在国外,考虑到被墙的情况,httpbin也可以自己搭建部署,非常简单,就像你本地安装git一样


git clone https://github.com/Runscope/httpbin.gitpip install -e httpbinpython -m httpbin.core [--port=PORT] [--host=HOST]

navicat premium

数据库连接管理工具

ecshop

免费开源的网店系统支持论坛

javascript floor() 方法

定义和用法

floor() 方法可对一个数进行下舍入。

语法

Math.floor(x)
参数 描述
x 必需。任意数值或表达式。

返回值

小于等于 x,且与 x 最接近的整数。

说明

floor() 方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。

实例

在本例中,我们将在不同的数字上使用 floor() 方法:

<script type="text/javascript">

document.write(Math.floor(0.60) + "<br />")
document.write(Math.floor(0.40) + "<br />")
document.write(Math.floor(5) + "<br />")
document.write(Math.floor(5.1) + "<br />")
document.write(Math.floor(-5.1) + "<br />")
document.write(Math.floor(-5.9))

</script>

输出:

0
0
5
5
-6
-6


zmail发送邮件

import zmailmail_content = { "subject":"标题", "content_text":"内容", "attachments":"D:\\oython\\t.py"}
server = zmail.server("zouqian1986@163.com","ARRSCPDUZEQAZUEY")server.send_mail("331931173@qq.com",mail_content)


发送html格式的

import zmail
with open("D:\\jmete.html","r",encoding="utf-8") as fp: content_html = fp.read()mail_content = { "subject":"标题", "content_html":content_html, "attachments":"D:\\jmete.html"}
server = zmail.server("zouqian1986@163.com","ARRSCPDUZEQAZUEY")server.send_mail("331931173@qq.com",mail_content)

python 提交form-data

import requestsurl = 'http://httpbin.org/post'data = {"username":"albert","password":"123","hubby":"haha"}response = requests.post(url=url,data=data)print(response.json())python 提交form-data# coding=utf-8import requestsfrom requests_toolbelt import MultipartEncoder
# requests库上传files = {"username": (None, "billy"), "password": (None, "abcd1234"), 'picUrl': ('pic.png', open('D:\\1111.txt', 'rb'), 'text/plain')}
# 如需headers,不需要赋值Content-Type,不然可能会报错res = requests.post(url="http://httpbin.org/post", files=files)print(res.request.headers)# 上传文件m = MultipartEncoder( fields={'key1': 'value1', 'key2': 'value2', 'file': ('png_name', open('D:\\1111.txt', 'rb'), 'text/plain')})response = requests.post('http://httpbin.org/post', data=m, headers={'Content-Type': m.content_type})print(response)


以上是关于httpbin.orgzmailform-data格式的主要内容,如果未能解决你的问题,请参考以下文章