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 是什么。
-
[ ]
[ ]
[ ]
[ ]
[ ]
[21088] [INFO] Starting gunicorn 19.7.1 ] [
[21088] [INFO] Listening at: http://0.0.0.0:8000 (21088) ] [
[21088] [INFO] Using worker: sync ] [
[21093] [INFO] Booting worker with pid: 21093 ] [
[ ]
接口列表
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/418
HTTP/1.1 418 I'M A TEAPOT
Connection: keep-alive
Server: meinheld/0.6.1
Date: Tue, 11 Jul 2017 08:29:40 GMT
X-Processed-Time: 0.000515937805176
Access-Control-Allow-Origin: *
X-More-Info: http://tools.ietf.org/html/rfc2324
Access-Control-Allow-Credentials: true
X-Powered-By: Flask
Content-Length: 135
Via: 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.git
pip install -e httpbin
python -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 zmail
mail_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 requests
url = '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-8
import requests
from 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格式的主要内容,如果未能解决你的问题,请参考以下文章