application/x-www-form-urlencoded默认地,表单数据会编码为“application/x-www-form-urlencoded”。就是说,在发送到服务器之前,所有字符都会进行编码,空格转换为“+”加号,特殊符号转换为ASCIIHEX值。窗体数据被编码为:名称/值对,这是标准的编码格式。application/json数据以json形式进行编码multipart/form-data窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,上传附件用到。在使用包含文件上传控件的表单时,必须使用该值。text/html文本方式的网页文件。text/xml文本方式的xml文件,text/xml忽略xml头所指定编码格式而默认采用US-ASCII编码。text/plain窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。空格转换为“+”加号,但不对特殊字符编码。application/xml数据以xml形式进行编码,application/xml会根据xml头指定的编码格式来编码。
http请求类型
语法requests.get(url,params=None,**kwargs)参数url调用接口地址如:url=“http://httpbiorg/get”params为可选参数,该参数是一个字典类型,数据会以键/值对的形式置于URL中,跟在一个问号的后面如:https://apgithucom/events?key1=value1&key2=value2**kwargs其他可选参数如headers,files,cookies,auth,timeout,json等headers请求头信息,与浏览器交互的参数代码演示importrequestsimportpprintget_url=‘http://httpbiorg/get’get_params={‘key1’:‘value1’,‘key2’:‘value2’}res=requests.get(url=get_url,params=get_params)pprint.pprint(res.json())
post请求
get:获取资源post:增加资源put:修改资源delete:删除资源head:查看响应头options:查看可用请求方法
参数传递GET:从服务器获取数据,将数据按照variable=value的形式,添加到行为所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接POST:向服务器传送数据,将表单中的数据放在请求体中,按照变量和值相对应的方式传递。长度限制GET:GET是通过URL提交数据,因此GET可提交的数据量就跟URL所能达到的最大长度有直接关系。实际上HTTP协议对URL长度是没有限制的,限制URL长度大多数是浏览器或者服务器的配置参数。POST:HTTP协议没有对POST进行任何限制,一般是受服务器配置限制或者内存大小。可以通过修改配置文件来设置。安全性GET:GET请求参数放在URL后面,可以直接看到,明文传输。POST:POST请求参数放在请求体里面,需要通过抓包工具或者浏览器调试模式才能看到。幂等性幂等主要是为了处理同一个请求重复发送的情况。比如在请求响应前失去连接,如果方法是幂等的,重复发送对结果没有影响。通常情况下GET请求是幂等的,POST请求非幂等的。
Content-Type编码方式
requests库安装
语法requests.post(url,data=None,json=None,**kwargs)参数url调用接口地址如:url=“http://httpbiorg/post”data为可选参数如:字典、元组列表、字节或类似文件json可选参数,json数据**kwargs其他可选参数如headers,files,cookies,auth,timeout,json等headers请求头信息,与浏览器交互的参数data与json区别传入dict,不设置content-type值data:默认使用application/x-www-form-urlencoded编码方式处理json:默认使用application/json编码方式处理传入dict,设置content-type值data&json都按照设置的编码方式处理代码演示importrequestsimportpprint#data接收,传入dict,不设置content-type值post_url=‘http://httpbiorg/post’post_data={‘key1’:‘value1’,‘key2’:‘value2’}res=requests.post(url=post_url,data=post_datpprint.pprint(res.json())importrequestsimportpprint#json接收,传入dict,不设置content-type值post_url=‘http://httpbiorg/post’post_data={‘key1’:‘value1’,‘key2’:‘value2’}res=requests.post(url=post_url,json=post_datpprint.pprint(res.json())importrequestsimportpprint#data接收,传入dict,设置content-type:application/jsonpost_url=‘http://httpbiorg/post’post_data={‘key1’:‘value1’,‘key2’:‘value2’}header={‘Content-type’:‘application/json;charset=UTF-8’}res=requests.post(url=post_url,data=post_data,headers=header)pprint.pprint(res.json())importrequestsimportpprint#json接收,传入dict,设置content-type:application/x-www-form-urlencodedpost_url=‘http://httpbiorg/post’post_data={‘key1’:‘value1’,‘key2’:‘value2’}header={‘Content-type’:‘application/x-www-form-urlencoded;charset=UTF-8’}res=requests.post(url=post_url,json=post_data,headers=header)pprint.pprint(res.json())
get请求
文章为作者独立观点,不代表股票交易接口观点