【转】提交http请求之python与curl
提交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> 指定尝试连接的最大时长 -i 输出时附带上返回的HTTP-header -g 关掉URL的通配附解析。如{}、[]这种 -X 指定请求method。如GET\POST\DELETE
#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 "web=@index.html;type=text/html" example.com curl -F profile=@portrait.jpg https://example.com/upload.cgi
【转自】http://blog.bobozhu.cn/Openstack/HTTP-Python-Curl/
backup 以备查找
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具