Openstack命令行客户端模拟HTTP请求

提交http请求之python与curl

由于Openstack是python实现wsgi的REST ful架构,在学习和调试的过程中,常常会遇到http请求的提交,于是顺手整理下python和curl命令的提交方法。

1.Python篇

在python中有过爬虫经验当然很简单,一个requests库的问题,比urllib这些好用。

import requests
url="https://www.baidu.com/s"headers={‘user-agent‘:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"}
post_data={‘username‘:"qujun","passwd":"xixi"}
parameters={‘wd‘:"abc"}#提交get请求P_get=request.get(url,params=parameters)#提交post请求P_post=reuests.post(url,headers=headers,data=post_data)

如果涉及到cookies的话,可以使用requests.Seesion()方法

2.shell中curl

  • 常用参数
-A:随意指定自己这次访问所宣称的自己的浏览器信息
-b/--cookie <name=string/file> cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中-d/ --data <data> HTTP POST方式传送
-F/--form <name=content> 模拟http表单提交数据
-H/--header <header> 指定请求头参数-s/--slient 减少输出的信息,比如进度
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-o/--output <file> 指定输出文件名称
--retry <num> 指定重试次数
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080--connect-timeout <seconds> 指定尝试连接的最大时长
  • 使用示例
#curl发送get,curl请求本身属于get,也没找到指定发送参数的参数。。curl  https://www.baidu.com/s?wd=xixi#curl发送post,curl发送post有两个参数-d和-F跟据man的结果,区别在于:-d 效果相当与在HTML form填好了信息按下了submit键,他会使用
content-type  “application/x-www-form-urlencoded”,按照它的使用例子,应该是普通内容post过去。
-F 模拟用户按下submit键后传输填好的form。使用Content-Type multi‐part/form-data,按照它的例子一般是在传送文件的时候使用。

curl  -d  "username=qujun&passwd=xixi"  https://www.baidu.com

curl  -F  "[email protected];type=text/html"  example.com
curl  -F    [email protected]    https://example.com/upload.cgi
时间: 2024-11-05 14:55:07

Openstack命令行客户端模拟HTTP请求的相关文章

第4章4节《MonkeyRunner源码剖析》ADB协议及服务: ADB命令行客户端使用简介(原创)

天地会珠海分舵注:本来这一系列是准备出一本书的,详情请见早前博文"寻求合作伙伴编写<深入理解 MonkeyRunner>书籍".但因为诸多原因,没有如愿.所以这里把草稿分享出来,所以错误在所难免.有需要的就参考下吧,转发的话还请保留每篇文章结尾的出处等信息. 从前面几个小节我们知道ADB命令行客户端是存在与主机端的一个命令,用户可以使用该命令来发送服务请求到ADB服务器,ADB服务器再判断该服务请求是主机服务请求还是本地服务请求来决定是否应该将请求传送给远程adbd守护进程

MAC系统XAMPP 中 MySQL命令行客户端配置使用

在PHP的学习过程中,MySQL估计是必然会接触的. MySQL的管理相信大家也会使用phpmyadmin: 好吧,phpmyadmin的确是MySQL管理的神器,你想要的,他好多都有,在开发的过程中,对于后台数据库的设计架构帮助真的很大. 但是,在这篇文章的主角确不是它. MySQL客户端 MySQL安装包里面,在一个名为bin的文件夹,放置了很多工具包,但是使用他们的方式是命令行(ps:最近上瘾了). 在MAC系统,使用命令行的工具可以使用系统自带的Terminal: 顺便在这提一下,笔者使

超级轻量的远程命令行客户端和服务端(含文件传输)

功能:实现基于TCPIP的命令行操作远程计算机,并且支持远程文件传输 平台:windows   (linux同理) 原理:客户端连接上服务端之后,先监听键盘输入,将键盘输入的cmd指令保存并发送给服务端:服务端保存并通过调用命令行执行,获取命令行执行结果发送给客户端.如果是   获取文件命令,则读取文件,并将文件发送给客户端 代码:源码下载链接 // 核心代码 int getfile(const char *path,SOCKET ClientSocket,const char *file) {

openstack命令行 CLI

OpenStack 服务都有自己的 CLI. 命令很好记,就是服务的名字,比如 Glance 就是 glance,Nova 就是 nova. 不同服务用的命令虽然不同,但这些命令使用方式却非常类似,可以举一反三. 1.执行命令之前,需要设置环境变量. 这些变量包含用户名.Project.密码等: 如果不设置,每次执行命令都必须设置相关的命令行参数 2.各个服务的命令都有增.删.改.查的操作.其格式是: CMD <obj>-create [parm1] [parm2]- CMD <obj&

MySQL命令行客户端命令

(MySQL安装并配置好之后) 一.启动或关闭MySQL服务 启动服务:net start 数据库服务名字 关闭服务:net stop 数据库服务名字 注意: 如果你已经在 mysql-> 里面,是不能使用上面两个命令的,要使用quit退出本层. 上面两个命令必须在cmd窗口下执行. 二.登录mysql管理系统 mysql -u用户名 -p密码 如果出现welcome to mysql.....表示数据库连接成功 注意:在cmd下面执行命令的时候,命令行最后不需要 小写的";"分

命令行客户端操作MySQL

MySQL客户端 mysql客户端是一个非常有用的SQL shell,几乎能够管理MySQL的每个方面:创建.修改.和删除表和数据库:创建和管理用户:浏览和修改服务器配置:查询表数据. 连接mysql 连接mysql需要以下选项: 主机名(--host=, -h) 用户名(--user=, -u) 密码(--password=, -p) 也可以包括目标数据库(--database=, -D),包含此项时,进入客户端后就不必执行use了,其实这些选项的顺序无关紧要,但是习惯按照以下例子来写. 例如

EOS开发基础之三:使用cleos命令行客户端操作EOS——关于钱包wallet和账户account

好了,上一节我们已经讲了关于wallet的一些基础操作,基本了解了怎么去创建一个钱包,怎么去查看钱包.上锁和解锁钱包等,这一节咱们就来开始操作账户account吧. 上一节讲到了每一个account都需要与两对密钥绑定,那么我们就先给它创建两对密钥吧. 1.创建密钥(./cleos create key) 如下图,创建了密钥后,我们查看一下wallet中的keys,发现钱包又被锁上了,解锁,再看,发现里面还是只有一个公钥在里面: 那要怎么做我们上边创建的密钥才会出现在wallet中呢? 这里有一

Crate命令行客户端Crash

进入Crate安装目录,执行命令: ./bin/crash \connect 192.168.2.6:4200 select * from ping where probe_name = 'xjlu';

MySQL命令行客户端:mycli

#安装pip: #CentOS/RHEL yum install python-pip pip install --upgrade pip #Ubuntu: sudo apt-get install python-pip python-dev build-essential  pip install --upgrade pip sudo pip install --upgrade virtualenv #pip或者easy_install时遇到的问题根据命令执行结果进行处理,我这里遇到的主要是相